<!DOCTYPE html>
<html>
<head><meta charset="utf-8" />
<title>titanic_survival_exploration</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>

<style type="text/css">
    /*!
*
* Twitter Bootstrap
*
*/
/*!
 * Bootstrap v3.3.7 (http://getbootstrap.com)
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}
audio:not([controls]) {
  display: none;
  height: 0;
}
[hidden],
template {
  display: none;
}
a {
  background-color: transparent;
}
a:active,
a:hover {
  outline: 0;
}
abbr[title] {
  border-bottom: 1px dotted;
}
b,
strong {
  font-weight: bold;
}
dfn {
  font-style: italic;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
mark {
  background: #ff0;
  color: #000;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
img {
  border: 0;
}
svg:not(:root) {
  overflow: hidden;
}
figure {
  margin: 1em 40px;
}
hr {
  box-sizing: content-box;
  height: 0;
}
pre {
  overflow: auto;
}
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}
button[disabled],
html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input {
  line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
legend {
  border: 0;
  padding: 0;
}
textarea {
  overflow: auto;
}
optgroup {
  font-weight: bold;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .navbar {
    display: none;
  }
  .btn > .caret,
  .dropup > .btn > .caret {
    border-top-color: #000 !important;
  }
  .label {
    border: 1px solid #000;
  }
  .table {
    border-collapse: collapse !important;
  }
  .table td,
  .table th {
    background-color: #fff !important;
  }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ddd !important;
  }
}
@font-face {
  font-family: 'Glyphicons Halflings';
  src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot');
  src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}
.glyphicon {
  position: relative;
  top: 1px;
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.glyphicon-asterisk:before {
  content: "\002a";
}
.glyphicon-plus:before {
  content: "\002b";
}
.glyphicon-euro:before,
.glyphicon-eur:before {
  content: "\20ac";
}
.glyphicon-minus:before {
  content: "\2212";
}
.glyphicon-cloud:before {
  content: "\2601";
}
.glyphicon-envelope:before {
  content: "\2709";
}
.glyphicon-pencil:before {
  content: "\270f";
}
.glyphicon-glass:before {
  content: "\e001";
}
.glyphicon-music:before {
  content: "\e002";
}
.glyphicon-search:before {
  content: "\e003";
}
.glyphicon-heart:before {
  content: "\e005";
}
.glyphicon-star:before {
  content: "\e006";
}
.glyphicon-star-empty:before {
  content: "\e007";
}
.glyphicon-user:before {
  content: "\e008";
}
.glyphicon-film:before {
  content: "\e009";
}
.glyphicon-th-large:before {
  content: "\e010";
}
.glyphicon-th:before {
  content: "\e011";
}
.glyphicon-th-list:before {
  content: "\e012";
}
.glyphicon-ok:before {
  content: "\e013";
}
.glyphicon-remove:before {
  content: "\e014";
}
.glyphicon-zoom-in:before {
  content: "\e015";
}
.glyphicon-zoom-out:before {
  content: "\e016";
}
.glyphicon-off:before {
  content: "\e017";
}
.glyphicon-signal:before {
  content: "\e018";
}
.glyphicon-cog:before {
  content: "\e019";
}
.glyphicon-trash:before {
  content: "\e020";
}
.glyphicon-home:before {
  content: "\e021";
}
.glyphicon-file:before {
  content: "\e022";
}
.glyphicon-time:before {
  content: "\e023";
}
.glyphicon-road:before {
  content: "\e024";
}
.glyphicon-download-alt:before {
  content: "\e025";
}
.glyphicon-download:before {
  content: "\e026";
}
.glyphicon-upload:before {
  content: "\e027";
}
.glyphicon-inbox:before {
  content: "\e028";
}
.glyphicon-play-circle:before {
  content: "\e029";
}
.glyphicon-repeat:before {
  content: "\e030";
}
.glyphicon-refresh:before {
  content: "\e031";
}
.glyphicon-list-alt:before {
  content: "\e032";
}
.glyphicon-lock:before {
  content: "\e033";
}
.glyphicon-flag:before {
  content: "\e034";
}
.glyphicon-headphones:before {
  content: "\e035";
}
.glyphicon-volume-off:before {
  content: "\e036";
}
.glyphicon-volume-down:before {
  content: "\e037";
}
.glyphicon-volume-up:before {
  content: "\e038";
}
.glyphicon-qrcode:before {
  content: "\e039";
}
.glyphicon-barcode:before {
  content: "\e040";
}
.glyphicon-tag:before {
  content: "\e041";
}
.glyphicon-tags:before {
  content: "\e042";
}
.glyphicon-book:before {
  content: "\e043";
}
.glyphicon-bookmark:before {
  content: "\e044";
}
.glyphicon-print:before {
  content: "\e045";
}
.glyphicon-camera:before {
  content: "\e046";
}
.glyphicon-font:before {
  content: "\e047";
}
.glyphicon-bold:before {
  content: "\e048";
}
.glyphicon-italic:before {
  content: "\e049";
}
.glyphicon-text-height:before {
  content: "\e050";
}
.glyphicon-text-width:before {
  content: "\e051";
}
.glyphicon-align-left:before {
  content: "\e052";
}
.glyphicon-align-center:before {
  content: "\e053";
}
.glyphicon-align-right:before {
  content: "\e054";
}
.glyphicon-align-justify:before {
  content: "\e055";
}
.glyphicon-list:before {
  content: "\e056";
}
.glyphicon-indent-left:before {
  content: "\e057";
}
.glyphicon-indent-right:before {
  content: "\e058";
}
.glyphicon-facetime-video:before {
  content: "\e059";
}
.glyphicon-picture:before {
  content: "\e060";
}
.glyphicon-map-marker:before {
  content: "\e062";
}
.glyphicon-adjust:before {
  content: "\e063";
}
.glyphicon-tint:before {
  content: "\e064";
}
.glyphicon-edit:before {
  content: "\e065";
}
.glyphicon-share:before {
  content: "\e066";
}
.glyphicon-check:before {
  content: "\e067";
}
.glyphicon-move:before {
  content: "\e068";
}
.glyphicon-step-backward:before {
  content: "\e069";
}
.glyphicon-fast-backward:before {
  content: "\e070";
}
.glyphicon-backward:before {
  content: "\e071";
}
.glyphicon-play:before {
  content: "\e072";
}
.glyphicon-pause:before {
  content: "\e073";
}
.glyphicon-stop:before {
  content: "\e074";
}
.glyphicon-forward:before {
  content: "\e075";
}
.glyphicon-fast-forward:before {
  content: "\e076";
}
.glyphicon-step-forward:before {
  content: "\e077";
}
.glyphicon-eject:before {
  content: "\e078";
}
.glyphicon-chevron-left:before {
  content: "\e079";
}
.glyphicon-chevron-right:before {
  content: "\e080";
}
.glyphicon-plus-sign:before {
  content: "\e081";
}
.glyphicon-minus-sign:before {
  content: "\e082";
}
.glyphicon-remove-sign:before {
  content: "\e083";
}
.glyphicon-ok-sign:before {
  content: "\e084";
}
.glyphicon-question-sign:before {
  content: "\e085";
}
.glyphicon-info-sign:before {
  content: "\e086";
}
.glyphicon-screenshot:before {
  content: "\e087";
}
.glyphicon-remove-circle:before {
  content: "\e088";
}
.glyphicon-ok-circle:before {
  content: "\e089";
}
.glyphicon-ban-circle:before {
  content: "\e090";
}
.glyphicon-arrow-left:before {
  content: "\e091";
}
.glyphicon-arrow-right:before {
  content: "\e092";
}
.glyphicon-arrow-up:before {
  content: "\e093";
}
.glyphicon-arrow-down:before {
  content: "\e094";
}
.glyphicon-share-alt:before {
  content: "\e095";
}
.glyphicon-resize-full:before {
  content: "\e096";
}
.glyphicon-resize-small:before {
  content: "\e097";
}
.glyphicon-exclamation-sign:before {
  content: "\e101";
}
.glyphicon-gift:before {
  content: "\e102";
}
.glyphicon-leaf:before {
  content: "\e103";
}
.glyphicon-fire:before {
  content: "\e104";
}
.glyphicon-eye-open:before {
  content: "\e105";
}
.glyphicon-eye-close:before {
  content: "\e106";
}
.glyphicon-warning-sign:before {
  content: "\e107";
}
.glyphicon-plane:before {
  content: "\e108";
}
.glyphicon-calendar:before {
  content: "\e109";
}
.glyphicon-random:before {
  content: "\e110";
}
.glyphicon-comment:before {
  content: "\e111";
}
.glyphicon-magnet:before {
  content: "\e112";
}
.glyphicon-chevron-up:before {
  content: "\e113";
}
.glyphicon-chevron-down:before {
  content: "\e114";
}
.glyphicon-retweet:before {
  content: "\e115";
}
.glyphicon-shopping-cart:before {
  content: "\e116";
}
.glyphicon-folder-close:before {
  content: "\e117";
}
.glyphicon-folder-open:before {
  content: "\e118";
}
.glyphicon-resize-vertical:before {
  content: "\e119";
}
.glyphicon-resize-horizontal:before {
  content: "\e120";
}
.glyphicon-hdd:before {
  content: "\e121";
}
.glyphicon-bullhorn:before {
  content: "\e122";
}
.glyphicon-bell:before {
  content: "\e123";
}
.glyphicon-certificate:before {
  content: "\e124";
}
.glyphicon-thumbs-up:before {
  content: "\e125";
}
.glyphicon-thumbs-down:before {
  content: "\e126";
}
.glyphicon-hand-right:before {
  content: "\e127";
}
.glyphicon-hand-left:before {
  content: "\e128";
}
.glyphicon-hand-up:before {
  content: "\e129";
}
.glyphicon-hand-down:before {
  content: "\e130";
}
.glyphicon-circle-arrow-right:before {
  content: "\e131";
}
.glyphicon-circle-arrow-left:before {
  content: "\e132";
}
.glyphicon-circle-arrow-up:before {
  content: "\e133";
}
.glyphicon-circle-arrow-down:before {
  content: "\e134";
}
.glyphicon-globe:before {
  content: "\e135";
}
.glyphicon-wrench:before {
  content: "\e136";
}
.glyphicon-tasks:before {
  content: "\e137";
}
.glyphicon-filter:before {
  content: "\e138";
}
.glyphicon-briefcase:before {
  content: "\e139";
}
.glyphicon-fullscreen:before {
  content: "\e140";
}
.glyphicon-dashboard:before {
  content: "\e141";
}
.glyphicon-paperclip:before {
  content: "\e142";
}
.glyphicon-heart-empty:before {
  content: "\e143";
}
.glyphicon-link:before {
  content: "\e144";
}
.glyphicon-phone:before {
  content: "\e145";
}
.glyphicon-pushpin:before {
  content: "\e146";
}
.glyphicon-usd:before {
  content: "\e148";
}
.glyphicon-gbp:before {
  content: "\e149";
}
.glyphicon-sort:before {
  content: "\e150";
}
.glyphicon-sort-by-alphabet:before {
  content: "\e151";
}
.glyphicon-sort-by-alphabet-alt:before {
  content: "\e152";
}
.glyphicon-sort-by-order:before {
  content: "\e153";
}
.glyphicon-sort-by-order-alt:before {
  content: "\e154";
}
.glyphicon-sort-by-attributes:before {
  content: "\e155";
}
.glyphicon-sort-by-attributes-alt:before {
  content: "\e156";
}
.glyphicon-unchecked:before {
  content: "\e157";
}
.glyphicon-expand:before {
  content: "\e158";
}
.glyphicon-collapse-down:before {
  content: "\e159";
}
.glyphicon-collapse-up:before {
  content: "\e160";
}
.glyphicon-log-in:before {
  content: "\e161";
}
.glyphicon-flash:before {
  content: "\e162";
}
.glyphicon-log-out:before {
  content: "\e163";
}
.glyphicon-new-window:before {
  content: "\e164";
}
.glyphicon-record:before {
  content: "\e165";
}
.glyphicon-save:before {
  content: "\e166";
}
.glyphicon-open:before {
  content: "\e167";
}
.glyphicon-saved:before {
  content: "\e168";
}
.glyphicon-import:before {
  content: "\e169";
}
.glyphicon-export:before {
  content: "\e170";
}
.glyphicon-send:before {
  content: "\e171";
}
.glyphicon-floppy-disk:before {
  content: "\e172";
}
.glyphicon-floppy-saved:before {
  content: "\e173";
}
.glyphicon-floppy-remove:before {
  content: "\e174";
}
.glyphicon-floppy-save:before {
  content: "\e175";
}
.glyphicon-floppy-open:before {
  content: "\e176";
}
.glyphicon-credit-card:before {
  content: "\e177";
}
.glyphicon-transfer:before {
  content: "\e178";
}
.glyphicon-cutlery:before {
  content: "\e179";
}
.glyphicon-header:before {
  content: "\e180";
}
.glyphicon-compressed:before {
  content: "\e181";
}
.glyphicon-earphone:before {
  content: "\e182";
}
.glyphicon-phone-alt:before {
  content: "\e183";
}
.glyphicon-tower:before {
  content: "\e184";
}
.glyphicon-stats:before {
  content: "\e185";
}
.glyphicon-sd-video:before {
  content: "\e186";
}
.glyphicon-hd-video:before {
  content: "\e187";
}
.glyphicon-subtitles:before {
  content: "\e188";
}
.glyphicon-sound-stereo:before {
  content: "\e189";
}
.glyphicon-sound-dolby:before {
  content: "\e190";
}
.glyphicon-sound-5-1:before {
  content: "\e191";
}
.glyphicon-sound-6-1:before {
  content: "\e192";
}
.glyphicon-sound-7-1:before {
  content: "\e193";
}
.glyphicon-copyright-mark:before {
  content: "\e194";
}
.glyphicon-registration-mark:before {
  content: "\e195";
}
.glyphicon-cloud-download:before {
  content: "\e197";
}
.glyphicon-cloud-upload:before {
  content: "\e198";
}
.glyphicon-tree-conifer:before {
  content: "\e199";
}
.glyphicon-tree-deciduous:before {
  content: "\e200";
}
.glyphicon-cd:before {
  content: "\e201";
}
.glyphicon-save-file:before {
  content: "\e202";
}
.glyphicon-open-file:before {
  content: "\e203";
}
.glyphicon-level-up:before {
  content: "\e204";
}
.glyphicon-copy:before {
  content: "\e205";
}
.glyphicon-paste:before {
  content: "\e206";
}
.glyphicon-alert:before {
  content: "\e209";
}
.glyphicon-equalizer:before {
  content: "\e210";
}
.glyphicon-king:before {
  content: "\e211";
}
.glyphicon-queen:before {
  content: "\e212";
}
.glyphicon-pawn:before {
  content: "\e213";
}
.glyphicon-bishop:before {
  content: "\e214";
}
.glyphicon-knight:before {
  content: "\e215";
}
.glyphicon-baby-formula:before {
  content: "\e216";
}
.glyphicon-tent:before {
  content: "\26fa";
}
.glyphicon-blackboard:before {
  content: "\e218";
}
.glyphicon-bed:before {
  content: "\e219";
}
.glyphicon-apple:before {
  content: "\f8ff";
}
.glyphicon-erase:before {
  content: "\e221";
}
.glyphicon-hourglass:before {
  content: "\231b";
}
.glyphicon-lamp:before {
  content: "\e223";
}
.glyphicon-duplicate:before {
  content: "\e224";
}
.glyphicon-piggy-bank:before {
  content: "\e225";
}
.glyphicon-scissors:before {
  content: "\e226";
}
.glyphicon-bitcoin:before {
  content: "\e227";
}
.glyphicon-btc:before {
  content: "\e227";
}
.glyphicon-xbt:before {
  content: "\e227";
}
.glyphicon-yen:before {
  content: "\00a5";
}
.glyphicon-jpy:before {
  content: "\00a5";
}
.glyphicon-ruble:before {
  content: "\20bd";
}
.glyphicon-rub:before {
  content: "\20bd";
}
.glyphicon-scale:before {
  content: "\e230";
}
.glyphicon-ice-lolly:before {
  content: "\e231";
}
.glyphicon-ice-lolly-tasted:before {
  content: "\e232";
}
.glyphicon-education:before {
  content: "\e233";
}
.glyphicon-option-horizontal:before {
  content: "\e234";
}
.glyphicon-option-vertical:before {
  content: "\e235";
}
.glyphicon-menu-hamburger:before {
  content: "\e236";
}
.glyphicon-modal-window:before {
  content: "\e237";
}
.glyphicon-oil:before {
  content: "\e238";
}
.glyphicon-grain:before {
  content: "\e239";
}
.glyphicon-sunglasses:before {
  content: "\e240";
}
.glyphicon-text-size:before {
  content: "\e241";
}
.glyphicon-text-color:before {
  content: "\e242";
}
.glyphicon-text-background:before {
  content: "\e243";
}
.glyphicon-object-align-top:before {
  content: "\e244";
}
.glyphicon-object-align-bottom:before {
  content: "\e245";
}
.glyphicon-object-align-horizontal:before {
  content: "\e246";
}
.glyphicon-object-align-left:before {
  content: "\e247";
}
.glyphicon-object-align-vertical:before {
  content: "\e248";
}
.glyphicon-object-align-right:before {
  content: "\e249";
}
.glyphicon-triangle-right:before {
  content: "\e250";
}
.glyphicon-triangle-left:before {
  content: "\e251";
}
.glyphicon-triangle-bottom:before {
  content: "\e252";
}
.glyphicon-triangle-top:before {
  content: "\e253";
}
.glyphicon-console:before {
  content: "\e254";
}
.glyphicon-superscript:before {
  content: "\e255";
}
.glyphicon-subscript:before {
  content: "\e256";
}
.glyphicon-menu-left:before {
  content: "\e257";
}
.glyphicon-menu-right:before {
  content: "\e258";
}
.glyphicon-menu-down:before {
  content: "\e259";
}
.glyphicon-menu-up:before {
  content: "\e260";
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  font-size: 10px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.42857143;
  color: #000;
  background-color: #fff;
}
input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
a {
  color: #337ab7;
  text-decoration: none;
}
a:hover,
a:focus {
  color: #23527c;
  text-decoration: underline;
}
a:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
figure {
  margin: 0;
}
img {
  vertical-align: middle;
}
.img-responsive,
.thumbnail > img,
.thumbnail a > img,
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  display: block;
  max-width: 100%;
  height: auto;
}
.img-rounded {
  border-radius: 3px;
}
.img-thumbnail {
  padding: 4px;
  line-height: 1.42857143;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 2px;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto;
}
.img-circle {
  border-radius: 50%;
}
hr {
  margin-top: 18px;
  margin-bottom: 18px;
  border: 0;
  border-top: 1px solid #eeeeee;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}
[role="button"] {
  cursor: pointer;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: inherit;
  font-weight: 500;
  line-height: 1.1;
  color: inherit;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
.h1 small,
.h2 small,
.h3 small,
.h4 small,
.h5 small,
.h6 small,
h1 .small,
h2 .small,
h3 .small,
h4 .small,
h5 .small,
h6 .small,
.h1 .small,
.h2 .small,
.h3 .small,
.h4 .small,
.h5 .small,
.h6 .small {
  font-weight: normal;
  line-height: 1;
  color: #777777;
}
h1,
.h1,
h2,
.h2,
h3,
.h3 {
  margin-top: 18px;
  margin-bottom: 9px;
}
h1 small,
.h1 small,
h2 small,
.h2 small,
h3 small,
.h3 small,
h1 .small,
.h1 .small,
h2 .small,
.h2 .small,
h3 .small,
.h3 .small {
  font-size: 65%;
}
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  margin-top: 9px;
  margin-bottom: 9px;
}
h4 small,
.h4 small,
h5 small,
.h5 small,
h6 small,
.h6 small,
h4 .small,
.h4 .small,
h5 .small,
.h5 .small,
h6 .small,
.h6 .small {
  font-size: 75%;
}
h1,
.h1 {
  font-size: 33px;
}
h2,
.h2 {
  font-size: 27px;
}
h3,
.h3 {
  font-size: 23px;
}
h4,
.h4 {
  font-size: 17px;
}
h5,
.h5 {
  font-size: 13px;
}
h6,
.h6 {
  font-size: 12px;
}
p {
  margin: 0 0 9px;
}
.lead {
  margin-bottom: 18px;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .lead {
    font-size: 19.5px;
  }
}
small,
.small {
  font-size: 92%;
}
mark,
.mark {
  background-color: #fcf8e3;
  padding: .2em;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.text-center {
  text-align: center;
}
.text-justify {
  text-align: justify;
}
.text-nowrap {
  white-space: nowrap;
}
.text-lowercase {
  text-transform: lowercase;
}
.text-uppercase {
  text-transform: uppercase;
}
.text-capitalize {
  text-transform: capitalize;
}
.text-muted {
  color: #777777;
}
.text-primary {
  color: #337ab7;
}
a.text-primary:hover,
a.text-primary:focus {
  color: #286090;
}
.text-success {
  color: #3c763d;
}
a.text-success:hover,
a.text-success:focus {
  color: #2b542c;
}
.text-info {
  color: #31708f;
}
a.text-info:hover,
a.text-info:focus {
  color: #245269;
}
.text-warning {
  color: #8a6d3b;
}
a.text-warning:hover,
a.text-warning:focus {
  color: #66512c;
}
.text-danger {
  color: #a94442;
}
a.text-danger:hover,
a.text-danger:focus {
  color: #843534;
}
.bg-primary {
  color: #fff;
  background-color: #337ab7;
}
a.bg-primary:hover,
a.bg-primary:focus {
  background-color: #286090;
}
.bg-success {
  background-color: #dff0d8;
}
a.bg-success:hover,
a.bg-success:focus {
  background-color: #c1e2b3;
}
.bg-info {
  background-color: #d9edf7;
}
a.bg-info:hover,
a.bg-info:focus {
  background-color: #afd9ee;
}
.bg-warning {
  background-color: #fcf8e3;
}
a.bg-warning:hover,
a.bg-warning:focus {
  background-color: #f7ecb5;
}
.bg-danger {
  background-color: #f2dede;
}
a.bg-danger:hover,
a.bg-danger:focus {
  background-color: #e4b9b9;
}
.page-header {
  padding-bottom: 8px;
  margin: 36px 0 18px;
  border-bottom: 1px solid #eeeeee;
}
ul,
ol {
  margin-top: 0;
  margin-bottom: 9px;
}
ul ul,
ol ul,
ul ol,
ol ol {
  margin-bottom: 0;
}
.list-unstyled {
  padding-left: 0;
  list-style: none;
}
.list-inline {
  padding-left: 0;
  list-style: none;
  margin-left: -5px;
}
.list-inline > li {
  display: inline-block;
  padding-left: 5px;
  padding-right: 5px;
}
dl {
  margin-top: 0;
  margin-bottom: 18px;
}
dt,
dd {
  line-height: 1.42857143;
}
dt {
  font-weight: bold;
}
dd {
  margin-left: 0;
}
@media (min-width: 541px) {
  .dl-horizontal dt {
    float: left;
    width: 160px;
    clear: left;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .dl-horizontal dd {
    margin-left: 180px;
  }
}
abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #777777;
}
.initialism {
  font-size: 90%;
  text-transform: uppercase;
}
blockquote {
  padding: 9px 18px;
  margin: 0 0 18px;
  font-size: inherit;
  border-left: 5px solid #eeeeee;
}
blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
  margin-bottom: 0;
}
blockquote footer,
blockquote small,
blockquote .small {
  display: block;
  font-size: 80%;
  line-height: 1.42857143;
  color: #777777;
}
blockquote footer:before,
blockquote small:before,
blockquote .small:before {
  content: '\2014 \00A0';
}
.blockquote-reverse,
blockquote.pull-right {
  padding-right: 15px;
  padding-left: 0;
  border-right: 5px solid #eeeeee;
  border-left: 0;
  text-align: right;
}
.blockquote-reverse footer:before,
blockquote.pull-right footer:before,
.blockquote-reverse small:before,
blockquote.pull-right small:before,
.blockquote-reverse .small:before,
blockquote.pull-right .small:before {
  content: '';
}
.blockquote-reverse footer:after,
blockquote.pull-right footer:after,
.blockquote-reverse small:after,
blockquote.pull-right small:after,
.blockquote-reverse .small:after,
blockquote.pull-right .small:after {
  content: '\00A0 \2014';
}
address {
  margin-bottom: 18px;
  font-style: normal;
  line-height: 1.42857143;
}
code,
kbd,
pre,
samp {
  font-family: monospace;
}
code {
  padding: 2px 4px;
  font-size: 90%;
  color: #c7254e;
  background-color: #f9f2f4;
  border-radius: 2px;
}
kbd {
  padding: 2px 4px;
  font-size: 90%;
  color: #888;
  background-color: transparent;
  border-radius: 1px;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
}
kbd kbd {
  padding: 0;
  font-size: 100%;
  font-weight: bold;
  box-shadow: none;
}
pre {
  display: block;
  padding: 8.5px;
  margin: 0 0 9px;
  font-size: 12px;
  line-height: 1.42857143;
  word-break: break-all;
  word-wrap: break-word;
  color: #333333;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border-radius: 2px;
}
pre code {
  padding: 0;
  font-size: inherit;
  color: inherit;
  white-space: pre-wrap;
  background-color: transparent;
  border-radius: 0;
}
.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll;
}
.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 0px;
  padding-right: 0px;
}
@media (min-width: 768px) {
  .container {
    width: 768px;
  }
}
@media (min-width: 992px) {
  .container {
    width: 940px;
  }
}
@media (min-width: 1200px) {
  .container {
    width: 1140px;
  }
}
.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 0px;
  padding-right: 0px;
}
.row {
  margin-left: 0px;
  margin-right: 0px;
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 0px;
  padding-right: 0px;
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  float: left;
}
.col-xs-12 {
  width: 100%;
}
.col-xs-11 {
  width: 91.66666667%;
}
.col-xs-10 {
  width: 83.33333333%;
}
.col-xs-9 {
  width: 75%;
}
.col-xs-8 {
  width: 66.66666667%;
}
.col-xs-7 {
  width: 58.33333333%;
}
.col-xs-6 {
  width: 50%;
}
.col-xs-5 {
  width: 41.66666667%;
}
.col-xs-4 {
  width: 33.33333333%;
}
.col-xs-3 {
  width: 25%;
}
.col-xs-2 {
  width: 16.66666667%;
}
.col-xs-1 {
  width: 8.33333333%;
}
.col-xs-pull-12 {
  right: 100%;
}
.col-xs-pull-11 {
  right: 91.66666667%;
}
.col-xs-pull-10 {
  right: 83.33333333%;
}
.col-xs-pull-9 {
  right: 75%;
}
.col-xs-pull-8 {
  right: 66.66666667%;
}
.col-xs-pull-7 {
  right: 58.33333333%;
}
.col-xs-pull-6 {
  right: 50%;
}
.col-xs-pull-5 {
  right: 41.66666667%;
}
.col-xs-pull-4 {
  right: 33.33333333%;
}
.col-xs-pull-3 {
  right: 25%;
}
.col-xs-pull-2 {
  right: 16.66666667%;
}
.col-xs-pull-1 {
  right: 8.33333333%;
}
.col-xs-pull-0 {
  right: auto;
}
.col-xs-push-12 {
  left: 100%;
}
.col-xs-push-11 {
  left: 91.66666667%;
}
.col-xs-push-10 {
  left: 83.33333333%;
}
.col-xs-push-9 {
  left: 75%;
}
.col-xs-push-8 {
  left: 66.66666667%;
}
.col-xs-push-7 {
  left: 58.33333333%;
}
.col-xs-push-6 {
  left: 50%;
}
.col-xs-push-5 {
  left: 41.66666667%;
}
.col-xs-push-4 {
  left: 33.33333333%;
}
.col-xs-push-3 {
  left: 25%;
}
.col-xs-push-2 {
  left: 16.66666667%;
}
.col-xs-push-1 {
  left: 8.33333333%;
}
.col-xs-push-0 {
  left: auto;
}
.col-xs-offset-12 {
  margin-left: 100%;
}
.col-xs-offset-11 {
  margin-left: 91.66666667%;
}
.col-xs-offset-10 {
  margin-left: 83.33333333%;
}
.col-xs-offset-9 {
  margin-left: 75%;
}
.col-xs-offset-8 {
  margin-left: 66.66666667%;
}
.col-xs-offset-7 {
  margin-left: 58.33333333%;
}
.col-xs-offset-6 {
  margin-left: 50%;
}
.col-xs-offset-5 {
  margin-left: 41.66666667%;
}
.col-xs-offset-4 {
  margin-left: 33.33333333%;
}
.col-xs-offset-3 {
  margin-left: 25%;
}
.col-xs-offset-2 {
  margin-left: 16.66666667%;
}
.col-xs-offset-1 {
  margin-left: 8.33333333%;
}
.col-xs-offset-0 {
  margin-left: 0%;
}
@media (min-width: 768px) {
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left;
  }
  .col-sm-12 {
    width: 100%;
  }
  .col-sm-11 {
    width: 91.66666667%;
  }
  .col-sm-10 {
    width: 83.33333333%;
  }
  .col-sm-9 {
    width: 75%;
  }
  .col-sm-8 {
    width: 66.66666667%;
  }
  .col-sm-7 {
    width: 58.33333333%;
  }
  .col-sm-6 {
    width: 50%;
  }
  .col-sm-5 {
    width: 41.66666667%;
  }
  .col-sm-4 {
    width: 33.33333333%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-2 {
    width: 16.66666667%;
  }
  .col-sm-1 {
    width: 8.33333333%;
  }
  .col-sm-pull-12 {
    right: 100%;
  }
  .col-sm-pull-11 {
    right: 91.66666667%;
  }
  .col-sm-pull-10 {
    right: 83.33333333%;
  }
  .col-sm-pull-9 {
    right: 75%;
  }
  .col-sm-pull-8 {
    right: 66.66666667%;
  }
  .col-sm-pull-7 {
    right: 58.33333333%;
  }
  .col-sm-pull-6 {
    right: 50%;
  }
  .col-sm-pull-5 {
    right: 41.66666667%;
  }
  .col-sm-pull-4 {
    right: 33.33333333%;
  }
  .col-sm-pull-3 {
    right: 25%;
  }
  .col-sm-pull-2 {
    right: 16.66666667%;
  }
  .col-sm-pull-1 {
    right: 8.33333333%;
  }
  .col-sm-pull-0 {
    right: auto;
  }
  .col-sm-push-12 {
    left: 100%;
  }
  .col-sm-push-11 {
    left: 91.66666667%;
  }
  .col-sm-push-10 {
    left: 83.33333333%;
  }
  .col-sm-push-9 {
    left: 75%;
  }
  .col-sm-push-8 {
    left: 66.66666667%;
  }
  .col-sm-push-7 {
    left: 58.33333333%;
  }
  .col-sm-push-6 {
    left: 50%;
  }
  .col-sm-push-5 {
    left: 41.66666667%;
  }
  .col-sm-push-4 {
    left: 33.33333333%;
  }
  .col-sm-push-3 {
    left: 25%;
  }
  .col-sm-push-2 {
    left: 16.66666667%;
  }
  .col-sm-push-1 {
    left: 8.33333333%;
  }
  .col-sm-push-0 {
    left: auto;
  }
  .col-sm-offset-12 {
    margin-left: 100%;
  }
  .col-sm-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-sm-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-sm-offset-9 {
    margin-left: 75%;
  }
  .col-sm-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-sm-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-sm-offset-6 {
    margin-left: 50%;
  }
  .col-sm-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-sm-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-sm-offset-3 {
    margin-left: 25%;
  }
  .col-sm-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-sm-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-sm-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 992px) {
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left;
  }
  .col-md-12 {
    width: 100%;
  }
  .col-md-11 {
    width: 91.66666667%;
  }
  .col-md-10 {
    width: 83.33333333%;
  }
  .col-md-9 {
    width: 75%;
  }
  .col-md-8 {
    width: 66.66666667%;
  }
  .col-md-7 {
    width: 58.33333333%;
  }
  .col-md-6 {
    width: 50%;
  }
  .col-md-5 {
    width: 41.66666667%;
  }
  .col-md-4 {
    width: 33.33333333%;
  }
  .col-md-3 {
    width: 25%;
  }
  .col-md-2 {
    width: 16.66666667%;
  }
  .col-md-1 {
    width: 8.33333333%;
  }
  .col-md-pull-12 {
    right: 100%;
  }
  .col-md-pull-11 {
    right: 91.66666667%;
  }
  .col-md-pull-10 {
    right: 83.33333333%;
  }
  .col-md-pull-9 {
    right: 75%;
  }
  .col-md-pull-8 {
    right: 66.66666667%;
  }
  .col-md-pull-7 {
    right: 58.33333333%;
  }
  .col-md-pull-6 {
    right: 50%;
  }
  .col-md-pull-5 {
    right: 41.66666667%;
  }
  .col-md-pull-4 {
    right: 33.33333333%;
  }
  .col-md-pull-3 {
    right: 25%;
  }
  .col-md-pull-2 {
    right: 16.66666667%;
  }
  .col-md-pull-1 {
    right: 8.33333333%;
  }
  .col-md-pull-0 {
    right: auto;
  }
  .col-md-push-12 {
    left: 100%;
  }
  .col-md-push-11 {
    left: 91.66666667%;
  }
  .col-md-push-10 {
    left: 83.33333333%;
  }
  .col-md-push-9 {
    left: 75%;
  }
  .col-md-push-8 {
    left: 66.66666667%;
  }
  .col-md-push-7 {
    left: 58.33333333%;
  }
  .col-md-push-6 {
    left: 50%;
  }
  .col-md-push-5 {
    left: 41.66666667%;
  }
  .col-md-push-4 {
    left: 33.33333333%;
  }
  .col-md-push-3 {
    left: 25%;
  }
  .col-md-push-2 {
    left: 16.66666667%;
  }
  .col-md-push-1 {
    left: 8.33333333%;
  }
  .col-md-push-0 {
    left: auto;
  }
  .col-md-offset-12 {
    margin-left: 100%;
  }
  .col-md-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-md-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-md-offset-9 {
    margin-left: 75%;
  }
  .col-md-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-md-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-md-offset-6 {
    margin-left: 50%;
  }
  .col-md-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-md-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-md-offset-3 {
    margin-left: 25%;
  }
  .col-md-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-md-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-md-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 1200px) {
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left;
  }
  .col-lg-12 {
    width: 100%;
  }
  .col-lg-11 {
    width: 91.66666667%;
  }
  .col-lg-10 {
    width: 83.33333333%;
  }
  .col-lg-9 {
    width: 75%;
  }
  .col-lg-8 {
    width: 66.66666667%;
  }
  .col-lg-7 {
    width: 58.33333333%;
  }
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-5 {
    width: 41.66666667%;
  }
  .col-lg-4 {
    width: 33.33333333%;
  }
  .col-lg-3 {
    width: 25%;
  }
  .col-lg-2 {
    width: 16.66666667%;
  }
  .col-lg-1 {
    width: 8.33333333%;
  }
  .col-lg-pull-12 {
    right: 100%;
  }
  .col-lg-pull-11 {
    right: 91.66666667%;
  }
  .col-lg-pull-10 {
    right: 83.33333333%;
  }
  .col-lg-pull-9 {
    right: 75%;
  }
  .col-lg-pull-8 {
    right: 66.66666667%;
  }
  .col-lg-pull-7 {
    right: 58.33333333%;
  }
  .col-lg-pull-6 {
    right: 50%;
  }
  .col-lg-pull-5 {
    right: 41.66666667%;
  }
  .col-lg-pull-4 {
    right: 33.33333333%;
  }
  .col-lg-pull-3 {
    right: 25%;
  }
  .col-lg-pull-2 {
    right: 16.66666667%;
  }
  .col-lg-pull-1 {
    right: 8.33333333%;
  }
  .col-lg-pull-0 {
    right: auto;
  }
  .col-lg-push-12 {
    left: 100%;
  }
  .col-lg-push-11 {
    left: 91.66666667%;
  }
  .col-lg-push-10 {
    left: 83.33333333%;
  }
  .col-lg-push-9 {
    left: 75%;
  }
  .col-lg-push-8 {
    left: 66.66666667%;
  }
  .col-lg-push-7 {
    left: 58.33333333%;
  }
  .col-lg-push-6 {
    left: 50%;
  }
  .col-lg-push-5 {
    left: 41.66666667%;
  }
  .col-lg-push-4 {
    left: 33.33333333%;
  }
  .col-lg-push-3 {
    left: 25%;
  }
  .col-lg-push-2 {
    left: 16.66666667%;
  }
  .col-lg-push-1 {
    left: 8.33333333%;
  }
  .col-lg-push-0 {
    left: auto;
  }
  .col-lg-offset-12 {
    margin-left: 100%;
  }
  .col-lg-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-lg-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-lg-offset-9 {
    margin-left: 75%;
  }
  .col-lg-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-lg-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-lg-offset-6 {
    margin-left: 50%;
  }
  .col-lg-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-lg-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-lg-offset-3 {
    margin-left: 25%;
  }
  .col-lg-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-lg-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-lg-offset-0 {
    margin-left: 0%;
  }
}
table {
  background-color: transparent;
}
caption {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #777777;
  text-align: left;
}
th {
  text-align: left;
}
.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 18px;
}
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
  padding: 8px;
  line-height: 1.42857143;
  vertical-align: top;
  border-top: 1px solid #ddd;
}
.table > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #ddd;
}
.table > caption + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > th,
.table > thead:first-child > tr:first-child > th,
.table > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > td {
  border-top: 0;
}
.table > tbody + tbody {
  border-top: 2px solid #ddd;
}
.table .table {
  background-color: #fff;
}
.table-condensed > thead > tr > th,
.table-condensed > tbody > tr > th,
.table-condensed > tfoot > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > td {
  padding: 5px;
}
.table-bordered {
  border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
  border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
  border-bottom-width: 2px;
}
.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: #f9f9f9;
}
.table-hover > tbody > tr:hover {
  background-color: #f5f5f5;
}
table col[class*="col-"] {
  position: static;
  float: none;
  display: table-column;
}
table td[class*="col-"],
table th[class*="col-"] {
  position: static;
  float: none;
  display: table-cell;
}
.table > thead > tr > td.active,
.table > tbody > tr > td.active,
.table > tfoot > tr > td.active,
.table > thead > tr > th.active,
.table > tbody > tr > th.active,
.table > tfoot > tr > th.active,
.table > thead > tr.active > td,
.table > tbody > tr.active > td,
.table > tfoot > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr.active > th,
.table > tfoot > tr.active > th {
  background-color: #f5f5f5;
}
.table-hover > tbody > tr > td.active:hover,
.table-hover > tbody > tr > th.active:hover,
.table-hover > tbody > tr.active:hover > td,
.table-hover > tbody > tr:hover > .active,
.table-hover > tbody > tr.active:hover > th {
  background-color: #e8e8e8;
}
.table > thead > tr > td.success,
.table > tbody > tr > td.success,
.table > tfoot > tr > td.success,
.table > thead > tr > th.success,
.table > tbody > tr > th.success,
.table > tfoot > tr > th.success,
.table > thead > tr.success > td,
.table > tbody > tr.success > td,
.table > tfoot > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr.success > th,
.table > tfoot > tr.success > th {
  background-color: #dff0d8;
}
.table-hover > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover,
.table-hover > tbody > tr.success:hover > td,
.table-hover > tbody > tr:hover > .success,
.table-hover > tbody > tr.success:hover > th {
  background-color: #d0e9c6;
}
.table > thead > tr > td.info,
.table > tbody > tr > td.info,
.table > tfoot > tr > td.info,
.table > thead > tr > th.info,
.table > tbody > tr > th.info,
.table > tfoot > tr > th.info,
.table > thead > tr.info > td,
.table > tbody > tr.info > td,
.table > tfoot > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr.info > th,
.table > tfoot > tr.info > th {
  background-color: #d9edf7;
}
.table-hover > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover,
.table-hover > tbody > tr.info:hover > td,
.table-hover > tbody > tr:hover > .info,
.table-hover > tbody > tr.info:hover > th {
  background-color: #c4e3f3;
}
.table > thead > tr > td.warning,
.table > tbody > tr > td.warning,
.table > tfoot > tr > td.warning,
.table > thead > tr > th.warning,
.table > tbody > tr > th.warning,
.table > tfoot > tr > th.warning,
.table > thead > tr.warning > td,
.table > tbody > tr.warning > td,
.table > tfoot > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr.warning > th,
.table > tfoot > tr.warning > th {
  background-color: #fcf8e3;
}
.table-hover > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover,
.table-hover > tbody > tr.warning:hover > td,
.table-hover > tbody > tr:hover > .warning,
.table-hover > tbody > tr.warning:hover > th {
  background-color: #faf2cc;
}
.table > thead > tr > td.danger,
.table > tbody > tr > td.danger,
.table > tfoot > tr > td.danger,
.table > thead > tr > th.danger,
.table > tbody > tr > th.danger,
.table > tfoot > tr > th.danger,
.table > thead > tr.danger > td,
.table > tbody > tr.danger > td,
.table > tfoot > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr.danger > th,
.table > tfoot > tr.danger > th {
  background-color: #f2dede;
}
.table-hover > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover,
.table-hover > tbody > tr.danger:hover > td,
.table-hover > tbody > tr:hover > .danger,
.table-hover > tbody > tr.danger:hover > th {
  background-color: #ebcccc;
}
.table-responsive {
  overflow-x: auto;
  min-height: 0.01%;
}
@media screen and (max-width: 767px) {
  .table-responsive {
    width: 100%;
    margin-bottom: 13.5px;
    overflow-y: hidden;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: 1px solid #ddd;
  }
  .table-responsive > .table {
    margin-bottom: 0;
  }
  .table-responsive > .table > thead > tr > th,
  .table-responsive > .table > tbody > tr > th,
  .table-responsive > .table > tfoot > tr > th,
  .table-responsive > .table > thead > tr > td,
  .table-responsive > .table > tbody > tr > td,
  .table-responsive > .table > tfoot > tr > td {
    white-space: nowrap;
  }
  .table-responsive > .table-bordered {
    border: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:first-child,
  .table-responsive > .table-bordered > tbody > tr > th:first-child,
  .table-responsive > .table-bordered > tfoot > tr > th:first-child,
  .table-responsive > .table-bordered > thead > tr > td:first-child,
  .table-responsive > .table-bordered > tbody > tr > td:first-child,
  .table-responsive > .table-bordered > tfoot > tr > td:first-child {
    border-left: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:last-child,
  .table-responsive > .table-bordered > tbody > tr > th:last-child,
  .table-responsive > .table-bordered > tfoot > tr > th:last-child,
  .table-responsive > .table-bordered > thead > tr > td:last-child,
  .table-responsive > .table-bordered > tbody > tr > td:last-child,
  .table-responsive > .table-bordered > tfoot > tr > td:last-child {
    border-right: 0;
  }
  .table-responsive > .table-bordered > tbody > tr:last-child > th,
  .table-responsive > .table-bordered > tfoot > tr:last-child > th,
  .table-responsive > .table-bordered > tbody > tr:last-child > td,
  .table-responsive > .table-bordered > tfoot > tr:last-child > td {
    border-bottom: 0;
  }
}
fieldset {
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 0;
}
legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 18px;
  font-size: 19.5px;
  line-height: inherit;
  color: #333333;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
}
label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: bold;
}
input[type="search"] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  margin-top: 1px \9;
  line-height: normal;
}
input[type="file"] {
  display: block;
}
input[type="range"] {
  display: block;
  width: 100%;
}
select[multiple],
select[size] {
  height: auto;
}
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
output {
  display: block;
  padding-top: 7px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #555555;
}
.form-control {
  display: block;
  width: 100%;
  height: 32px;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form-control:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.form-control::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  color: #999;
}
.form-control::-webkit-input-placeholder {
  color: #999;
}
.form-control::-ms-expand {
  border: 0;
  background-color: transparent;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
  background-color: #eeeeee;
  opacity: 1;
}
.form-control[disabled],
fieldset[disabled] .form-control {
  cursor: not-allowed;
}
textarea.form-control {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: none;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type="date"].form-control,
  input[type="time"].form-control,
  input[type="datetime-local"].form-control,
  input[type="month"].form-control {
    line-height: 32px;
  }
  input[type="date"].input-sm,
  input[type="time"].input-sm,
  input[type="datetime-local"].input-sm,
  input[type="month"].input-sm,
  .input-group-sm input[type="date"],
  .input-group-sm input[type="time"],
  .input-group-sm input[type="datetime-local"],
  .input-group-sm input[type="month"] {
    line-height: 30px;
  }
  input[type="date"].input-lg,
  input[type="time"].input-lg,
  input[type="datetime-local"].input-lg,
  input[type="month"].input-lg,
  .input-group-lg input[type="date"],
  .input-group-lg input[type="time"],
  .input-group-lg input[type="datetime-local"],
  .input-group-lg input[type="month"] {
    line-height: 45px;
  }
}
.form-group {
  margin-bottom: 15px;
}
.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}
.radio label,
.checkbox label {
  min-height: 18px;
  padding-left: 20px;
  margin-bottom: 0;
  font-weight: normal;
  cursor: pointer;
}
.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  position: absolute;
  margin-left: -20px;
  margin-top: 4px \9;
}
.radio + .radio,
.checkbox + .checkbox {
  margin-top: -5px;
}
.radio-inline,
.checkbox-inline {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  margin-bottom: 0;
  vertical-align: middle;
  font-weight: normal;
  cursor: pointer;
}
.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
  margin-top: 0;
  margin-left: 10px;
}
input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"].disabled,
input[type="checkbox"].disabled,
fieldset[disabled] input[type="radio"],
fieldset[disabled] input[type="checkbox"] {
  cursor: not-allowed;
}
.radio-inline.disabled,
.checkbox-inline.disabled,
fieldset[disabled] .radio-inline,
fieldset[disabled] .checkbox-inline {
  cursor: not-allowed;
}
.radio.disabled label,
.checkbox.disabled label,
fieldset[disabled] .radio label,
fieldset[disabled] .checkbox label {
  cursor: not-allowed;
}
.form-control-static {
  padding-top: 7px;
  padding-bottom: 7px;
  margin-bottom: 0;
  min-height: 31px;
}
.form-control-static.input-lg,
.form-control-static.input-sm {
  padding-left: 0;
  padding-right: 0;
}
.input-sm {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
select.input-sm {
  height: 30px;
  line-height: 30px;
}
textarea.input-sm,
select[multiple].input-sm {
  height: auto;
}
.form-group-sm .form-control {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
.form-group-sm select.form-control {
  height: 30px;
  line-height: 30px;
}
.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
  height: auto;
}
.form-group-sm .form-control-static {
  height: 30px;
  min-height: 30px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.5;
}
.input-lg {
  height: 45px;
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
select.input-lg {
  height: 45px;
  line-height: 45px;
}
textarea.input-lg,
select[multiple].input-lg {
  height: auto;
}
.form-group-lg .form-control {
  height: 45px;
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
.form-group-lg select.form-control {
  height: 45px;
  line-height: 45px;
}
.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
  height: auto;
}
.form-group-lg .form-control-static {
  height: 45px;
  min-height: 35px;
  padding: 11px 16px;
  font-size: 17px;
  line-height: 1.3333333;
}
.has-feedback {
  position: relative;
}
.has-feedback .form-control {
  padding-right: 40px;
}
.form-control-feedback {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 32px;
  height: 32px;
  line-height: 32px;
  text-align: center;
  pointer-events: none;
}
.input-lg + .form-control-feedback,
.input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
  width: 45px;
  height: 45px;
  line-height: 45px;
}
.input-sm + .form-control-feedback,
.input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
  width: 30px;
  height: 30px;
  line-height: 30px;
}
.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
  color: #3c763d;
}
.has-success .form-control {
  border-color: #3c763d;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-success .form-control:focus {
  border-color: #2b542c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
}
.has-success .input-group-addon {
  color: #3c763d;
  border-color: #3c763d;
  background-color: #dff0d8;
}
.has-success .form-control-feedback {
  color: #3c763d;
}
.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
  color: #8a6d3b;
}
.has-warning .form-control {
  border-color: #8a6d3b;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-warning .form-control:focus {
  border-color: #66512c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
}
.has-warning .input-group-addon {
  color: #8a6d3b;
  border-color: #8a6d3b;
  background-color: #fcf8e3;
}
.has-warning .form-control-feedback {
  color: #8a6d3b;
}
.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
  color: #a94442;
}
.has-error .form-control {
  border-color: #a94442;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-error .form-control:focus {
  border-color: #843534;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
}
.has-error .input-group-addon {
  color: #a94442;
  border-color: #a94442;
  background-color: #f2dede;
}
.has-error .form-control-feedback {
  color: #a94442;
}
.has-feedback label ~ .form-control-feedback {
  top: 23px;
}
.has-feedback label.sr-only ~ .form-control-feedback {
  top: 0;
}
.help-block {
  display: block;
  margin-top: 5px;
  margin-bottom: 10px;
  color: #404040;
}
@media (min-width: 768px) {
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-static {
    display: inline-block;
  }
  .form-inline .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .form-inline .input-group .input-group-addon,
  .form-inline .input-group .input-group-btn,
  .form-inline .input-group .form-control {
    width: auto;
  }
  .form-inline .input-group > .form-control {
    width: 100%;
  }
  .form-inline .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio,
  .form-inline .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio label,
  .form-inline .checkbox label {
    padding-left: 0;
  }
  .form-inline .radio input[type="radio"],
  .form-inline .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0;
  }
  .form-inline .has-feedback .form-control-feedback {
    top: 0;
  }
}
.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 7px;
}
.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 25px;
}
.form-horizontal .form-group {
  margin-left: 0px;
  margin-right: 0px;
}
@media (min-width: 768px) {
  .form-horizontal .control-label {
    text-align: right;
    margin-bottom: 0;
    padding-top: 7px;
  }
}
.form-horizontal .has-feedback .form-control-feedback {
  right: 0px;
}
@media (min-width: 768px) {
  .form-horizontal .form-group-lg .control-label {
    padding-top: 11px;
    font-size: 17px;
  }
}
@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
    font-size: 12px;
  }
}
.btn {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.42857143;
  border-radius: 2px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.btn:hover,
.btn:focus,
.btn.focus {
  color: #333;
  text-decoration: none;
}
.btn:active,
.btn.active {
  outline: 0;
  background-image: none;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
  cursor: not-allowed;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
  box-shadow: none;
}
a.btn.disabled,
fieldset[disabled] a.btn {
  pointer-events: none;
}
.btn-default {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
.btn-default:focus,
.btn-default.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
.btn-default:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.btn-default:active:hover,
.btn-default.active:hover,
.open > .dropdown-toggle.btn-default:hover,
.btn-default:active:focus,
.btn-default.active:focus,
.open > .dropdown-toggle.btn-default:focus,
.btn-default:active.focus,
.btn-default.active.focus,
.open > .dropdown-toggle.btn-default.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  background-image: none;
}
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus {
  background-color: #fff;
  border-color: #ccc;
}
.btn-default .badge {
  color: #fff;
  background-color: #333;
}
.btn-primary {
  color: #fff;
  background-color: #337ab7;
  border-color: #2e6da4;
}
.btn-primary:focus,
.btn-primary.focus {
  color: #fff;
  background-color: #286090;
  border-color: #122b40;
}
.btn-primary:hover {
  color: #fff;
  background-color: #286090;
  border-color: #204d74;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  color: #fff;
  background-color: #286090;
  border-color: #204d74;
}
.btn-primary:active:hover,
.btn-primary.active:hover,
.open > .dropdown-toggle.btn-primary:hover,
.btn-primary:active:focus,
.btn-primary.active:focus,
.open > .dropdown-toggle.btn-primary:focus,
.btn-primary:active.focus,
.btn-primary.active.focus,
.open > .dropdown-toggle.btn-primary.focus {
  color: #fff;
  background-color: #204d74;
  border-color: #122b40;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  background-image: none;
}
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus {
  background-color: #337ab7;
  border-color: #2e6da4;
}
.btn-primary .badge {
  color: #337ab7;
  background-color: #fff;
}
.btn-success {
  color: #fff;
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.btn-success:focus,
.btn-success.focus {
  color: #fff;
  background-color: #449d44;
  border-color: #255625;
}
.btn-success:hover {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.btn-success:active:hover,
.btn-success.active:hover,
.open > .dropdown-toggle.btn-success:hover,
.btn-success:active:focus,
.btn-success.active:focus,
.open > .dropdown-toggle.btn-success:focus,
.btn-success:active.focus,
.btn-success.active.focus,
.open > .dropdown-toggle.btn-success.focus {
  color: #fff;
  background-color: #398439;
  border-color: #255625;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
  background-image: none;
}
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus {
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.btn-success .badge {
  color: #5cb85c;
  background-color: #fff;
}
.btn-info {
  color: #fff;
  background-color: #5bc0de;
  border-color: #46b8da;
}
.btn-info:focus,
.btn-info.focus {
  color: #fff;
  background-color: #31b0d5;
  border-color: #1b6d85;
}
.btn-info:hover {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.btn-info:active:hover,
.btn-info.active:hover,
.open > .dropdown-toggle.btn-info:hover,
.btn-info:active:focus,
.btn-info.active:focus,
.open > .dropdown-toggle.btn-info:focus,
.btn-info:active.focus,
.btn-info.active.focus,
.open > .dropdown-toggle.btn-info.focus {
  color: #fff;
  background-color: #269abc;
  border-color: #1b6d85;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  background-image: none;
}
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus {
  background-color: #5bc0de;
  border-color: #46b8da;
}
.btn-info .badge {
  color: #5bc0de;
  background-color: #fff;
}
.btn-warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #eea236;
}
.btn-warning:focus,
.btn-warning.focus {
  color: #fff;
  background-color: #ec971f;
  border-color: #985f0d;
}
.btn-warning:hover {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.btn-warning:active:hover,
.btn-warning.active:hover,
.open > .dropdown-toggle.btn-warning:hover,
.btn-warning:active:focus,
.btn-warning.active:focus,
.open > .dropdown-toggle.btn-warning:focus,
.btn-warning:active.focus,
.btn-warning.active.focus,
.open > .dropdown-toggle.btn-warning.focus {
  color: #fff;
  background-color: #d58512;
  border-color: #985f0d;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
  background-image: none;
}
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus {
  background-color: #f0ad4e;
  border-color: #eea236;
}
.btn-warning .badge {
  color: #f0ad4e;
  background-color: #fff;
}
.btn-danger {
  color: #fff;
  background-color: #d9534f;
  border-color: #d43f3a;
}
.btn-danger:focus,
.btn-danger.focus {
  color: #fff;
  background-color: #c9302c;
  border-color: #761c19;
}
.btn-danger:hover {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.btn-danger:active:hover,
.btn-danger.active:hover,
.open > .dropdown-toggle.btn-danger:hover,
.btn-danger:active:focus,
.btn-danger.active:focus,
.open > .dropdown-toggle.btn-danger:focus,
.btn-danger:active.focus,
.btn-danger.active.focus,
.open > .dropdown-toggle.btn-danger.focus {
  color: #fff;
  background-color: #ac2925;
  border-color: #761c19;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
  background-image: none;
}
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus {
  background-color: #d9534f;
  border-color: #d43f3a;
}
.btn-danger .badge {
  color: #d9534f;
  background-color: #fff;
}
.btn-link {
  color: #337ab7;
  font-weight: normal;
  border-radius: 0;
}
.btn-link,
.btn-link:active,
.btn-link.active,
.btn-link[disabled],
fieldset[disabled] .btn-link {
  background-color: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn-link,
.btn-link:hover,
.btn-link:focus,
.btn-link:active {
  border-color: transparent;
}
.btn-link:hover,
.btn-link:focus {
  color: #23527c;
  text-decoration: underline;
  background-color: transparent;
}
.btn-link[disabled]:hover,
fieldset[disabled] .btn-link:hover,
.btn-link[disabled]:focus,
fieldset[disabled] .btn-link:focus {
  color: #777777;
  text-decoration: none;
}
.btn-lg,
.btn-group-lg > .btn {
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
.btn-sm,
.btn-group-sm > .btn {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
.btn-xs,
.btn-group-xs > .btn {
  padding: 1px 5px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
.btn-block {
  display: block;
  width: 100%;
}
.btn-block + .btn-block {
  margin-top: 5px;
}
input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%;
}
.fade {
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}
.fade.in {
  opacity: 1;
}
.collapse {
  display: none;
}
.collapse.in {
  display: block;
}
tr.collapse.in {
  display: table-row;
}
tbody.collapse.in {
  display: table-row-group;
}
.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition-property: height, visibility;
  transition-property: height, visibility;
  -webkit-transition-duration: 0.35s;
  transition-duration: 0.35s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
}
.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px dashed;
  border-top: 4px solid \9;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}
.dropup,
.dropdown {
  position: relative;
}
.dropdown-toggle:focus {
  outline: 0;
}
.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  list-style: none;
  font-size: 13px;
  text-align: left;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 2px;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  background-clip: padding-box;
}
.dropdown-menu.pull-right {
  right: 0;
  left: auto;
}
.dropdown-menu .divider {
  height: 1px;
  margin: 8px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.dropdown-menu > li > a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 1.42857143;
  color: #333333;
  white-space: nowrap;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  text-decoration: none;
  color: #262626;
  background-color: #f5f5f5;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  background-color: #337ab7;
}
.dropdown-menu > .disabled > a,
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  color: #777777;
}
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  text-decoration: none;
  background-color: transparent;
  background-image: none;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  cursor: not-allowed;
}
.open > .dropdown-menu {
  display: block;
}
.open > a {
  outline: 0;
}
.dropdown-menu-right {
  left: auto;
  right: 0;
}
.dropdown-menu-left {
  left: 0;
  right: auto;
}
.dropdown-header {
  display: block;
  padding: 3px 20px;
  font-size: 12px;
  line-height: 1.42857143;
  color: #777777;
  white-space: nowrap;
}
.dropdown-backdrop {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 990;
}
.pull-right > .dropdown-menu {
  right: 0;
  left: auto;
}
.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  border-top: 0;
  border-bottom: 4px dashed;
  border-bottom: 4px solid \9;
  content: "";
}
.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-bottom: 2px;
}
@media (min-width: 541px) {
  .navbar-right .dropdown-menu {
    left: auto;
    right: 0;
  }
  .navbar-right .dropdown-menu-left {
    left: 0;
    right: auto;
  }
}
.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  float: left;
}
.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover,
.btn-group > .btn:focus,
.btn-group-vertical > .btn:focus,
.btn-group > .btn:active,
.btn-group-vertical > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn.active {
  z-index: 2;
}
.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
  margin-left: -1px;
}
.btn-toolbar {
  margin-left: -5px;
}
.btn-toolbar .btn,
.btn-toolbar .btn-group,
.btn-toolbar .input-group {
  float: left;
}
.btn-toolbar > .btn,
.btn-toolbar > .btn-group,
.btn-toolbar > .input-group {
  margin-left: 5px;
}
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
  border-radius: 0;
}
.btn-group > .btn:first-child {
  margin-left: 0;
}
.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.btn-group > .btn-group {
  float: left;
}
.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}
.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
  outline: 0;
}
.btn-group > .btn + .dropdown-toggle {
  padding-left: 8px;
  padding-right: 8px;
}
.btn-group > .btn-lg + .dropdown-toggle {
  padding-left: 12px;
  padding-right: 12px;
}
.btn-group.open .dropdown-toggle {
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn-group.open .dropdown-toggle.btn-link {
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn .caret {
  margin-left: 0;
}
.btn-lg .caret {
  border-width: 5px 5px 0;
  border-bottom-width: 0;
}
.dropup .btn-lg .caret {
  border-width: 0 5px 5px;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group,
.btn-group-vertical > .btn-group > .btn {
  display: block;
  float: none;
  width: 100%;
  max-width: 100%;
}
.btn-group-vertical > .btn-group > .btn {
  float: none;
}
.btn-group-vertical > .btn + .btn,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > .btn-group + .btn-group {
  margin-top: -1px;
  margin-left: 0;
}
.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.btn-group-vertical > .btn:first-child:not(:last-child) {
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:last-child:not(:first-child) {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.btn-group-justified {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
}
.btn-group-justified > .btn,
.btn-group-justified > .btn-group {
  float: none;
  display: table-cell;
  width: 1%;
}
.btn-group-justified > .btn-group .btn {
  width: 100%;
}
.btn-group-justified > .btn-group .dropdown-menu {
  left: auto;
}
[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.input-group {
  position: relative;
  display: table;
  border-collapse: separate;
}
.input-group[class*="col-"] {
  float: none;
  padding-left: 0;
  padding-right: 0;
}
.input-group .form-control {
  position: relative;
  z-index: 2;
  float: left;
  width: 100%;
  margin-bottom: 0;
}
.input-group .form-control:focus {
  z-index: 3;
}
.input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
  height: 45px;
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
select.input-group-lg > .form-control,
select.input-group-lg > .input-group-addon,
select.input-group-lg > .input-group-btn > .btn {
  height: 45px;
  line-height: 45px;
}
textarea.input-group-lg > .form-control,
textarea.input-group-lg > .input-group-addon,
textarea.input-group-lg > .input-group-btn > .btn,
select[multiple].input-group-lg > .form-control,
select[multiple].input-group-lg > .input-group-addon,
select[multiple].input-group-lg > .input-group-btn > .btn {
  height: auto;
}
.input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
select.input-group-sm > .form-control,
select.input-group-sm > .input-group-addon,
select.input-group-sm > .input-group-btn > .btn {
  height: 30px;
  line-height: 30px;
}
textarea.input-group-sm > .form-control,
textarea.input-group-sm > .input-group-addon,
textarea.input-group-sm > .input-group-btn > .btn,
select[multiple].input-group-sm > .form-control,
select[multiple].input-group-sm > .input-group-addon,
select[multiple].input-group-sm > .input-group-btn > .btn {
  height: auto;
}
.input-group-addon,
.input-group-btn,
.input-group .form-control {
  display: table-cell;
}
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.input-group-addon,
.input-group-btn {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}
.input-group-addon {
  padding: 6px 12px;
  font-size: 13px;
  font-weight: normal;
  line-height: 1;
  color: #555555;
  text-align: center;
  background-color: #eeeeee;
  border: 1px solid #ccc;
  border-radius: 2px;
}
.input-group-addon.input-sm {
  padding: 5px 10px;
  font-size: 12px;
  border-radius: 1px;
}
.input-group-addon.input-lg {
  padding: 10px 16px;
  font-size: 17px;
  border-radius: 3px;
}
.input-group-addon input[type="radio"],
.input-group-addon input[type="checkbox"] {
  margin-top: 0;
}
.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group > .btn,
.input-group-btn:first-child > .dropdown-toggle,
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.input-group-addon:first-child {
  border-right: 0;
}
.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group > .btn,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child),
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.input-group-addon:last-child {
  border-left: 0;
}
.input-group-btn {
  position: relative;
  font-size: 0;
  white-space: nowrap;
}
.input-group-btn > .btn {
  position: relative;
}
.input-group-btn > .btn + .btn {
  margin-left: -1px;
}
.input-group-btn > .btn:hover,
.input-group-btn > .btn:focus,
.input-group-btn > .btn:active {
  z-index: 2;
}
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group {
  margin-right: -1px;
}
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group {
  z-index: 2;
  margin-left: -1px;
}
.nav {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
.nav > li {
  position: relative;
  display: block;
}
.nav > li > a {
  position: relative;
  display: block;
  padding: 10px 15px;
}
.nav > li > a:hover,
.nav > li > a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.nav > li.disabled > a {
  color: #777777;
}
.nav > li.disabled > a:hover,
.nav > li.disabled > a:focus {
  color: #777777;
  text-decoration: none;
  background-color: transparent;
  cursor: not-allowed;
}
.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus {
  background-color: #eeeeee;
  border-color: #337ab7;
}
.nav .nav-divider {
  height: 1px;
  margin: 8px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.nav > li > a > img {
  max-width: none;
}
.nav-tabs {
  border-bottom: 1px solid #ddd;
}
.nav-tabs > li {
  float: left;
  margin-bottom: -1px;
}
.nav-tabs > li > a {
  margin-right: 2px;
  line-height: 1.42857143;
  border: 1px solid transparent;
  border-radius: 2px 2px 0 0;
}
.nav-tabs > li > a:hover {
  border-color: #eeeeee #eeeeee #ddd;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  color: #555555;
  background-color: #fff;
  border: 1px solid #ddd;
  border-bottom-color: transparent;
  cursor: default;
}
.nav-tabs.nav-justified {
  width: 100%;
  border-bottom: 0;
}
.nav-tabs.nav-justified > li {
  float: none;
}
.nav-tabs.nav-justified > li > a {
  text-align: center;
  margin-bottom: 5px;
}
.nav-tabs.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified > li {
    display: table-cell;
    width: 1%;
  }
  .nav-tabs.nav-justified > li > a {
    margin-bottom: 0;
  }
}
.nav-tabs.nav-justified > li > a {
  margin-right: 0;
  border-radius: 2px;
}
.nav-tabs.nav-justified > .active > a,
.nav-tabs.nav-justified > .active > a:hover,
.nav-tabs.nav-justified > .active > a:focus {
  border: 1px solid #ddd;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified > li > a {
    border-bottom: 1px solid #ddd;
    border-radius: 2px 2px 0 0;
  }
  .nav-tabs.nav-justified > .active > a,
  .nav-tabs.nav-justified > .active > a:hover,
  .nav-tabs.nav-justified > .active > a:focus {
    border-bottom-color: #fff;
  }
}
.nav-pills > li {
  float: left;
}
.nav-pills > li > a {
  border-radius: 2px;
}
.nav-pills > li + li {
  margin-left: 2px;
}
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
  color: #fff;
  background-color: #337ab7;
}
.nav-stacked > li {
  float: none;
}
.nav-stacked > li + li {
  margin-top: 2px;
  margin-left: 0;
}
.nav-justified {
  width: 100%;
}
.nav-justified > li {
  float: none;
}
.nav-justified > li > a {
  text-align: center;
  margin-bottom: 5px;
}
.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-justified > li {
    display: table-cell;
    width: 1%;
  }
  .nav-justified > li > a {
    margin-bottom: 0;
  }
}
.nav-tabs-justified {
  border-bottom: 0;
}
.nav-tabs-justified > li > a {
  margin-right: 0;
  border-radius: 2px;
}
.nav-tabs-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus {
  border: 1px solid #ddd;
}
@media (min-width: 768px) {
  .nav-tabs-justified > li > a {
    border-bottom: 1px solid #ddd;
    border-radius: 2px 2px 0 0;
  }
  .nav-tabs-justified > .active > a,
  .nav-tabs-justified > .active > a:hover,
  .nav-tabs-justified > .active > a:focus {
    border-bottom-color: #fff;
  }
}
.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}
.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.navbar {
  position: relative;
  min-height: 30px;
  margin-bottom: 18px;
  border: 1px solid transparent;
}
@media (min-width: 541px) {
  .navbar {
    border-radius: 2px;
  }
}
@media (min-width: 541px) {
  .navbar-header {
    float: left;
  }
}
.navbar-collapse {
  overflow-x: visible;
  padding-right: 0px;
  padding-left: 0px;
  border-top: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  -webkit-overflow-scrolling: touch;
}
.navbar-collapse.in {
  overflow-y: auto;
}
@media (min-width: 541px) {
  .navbar-collapse {
    width: auto;
    border-top: 0;
    box-shadow: none;
  }
  .navbar-collapse.collapse {
    display: block !important;
    height: auto !important;
    padding-bottom: 0;
    overflow: visible !important;
  }
  .navbar-collapse.in {
    overflow-y: visible;
  }
  .navbar-fixed-top .navbar-collapse,
  .navbar-static-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    padding-left: 0;
    padding-right: 0;
  }
}
.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
  max-height: 340px;
}
@media (max-device-width: 540px) and (orientation: landscape) {
  .navbar-fixed-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    max-height: 200px;
  }
}
.container > .navbar-header,
.container-fluid > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-collapse {
  margin-right: 0px;
  margin-left: 0px;
}
@media (min-width: 541px) {
  .container > .navbar-header,
  .container-fluid > .navbar-header,
  .container > .navbar-collapse,
  .container-fluid > .navbar-collapse {
    margin-right: 0;
    margin-left: 0;
  }
}
.navbar-static-top {
  z-index: 1000;
  border-width: 0 0 1px;
}
@media (min-width: 541px) {
  .navbar-static-top {
    border-radius: 0;
  }
}
.navbar-fixed-top,
.navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1030;
}
@media (min-width: 541px) {
  .navbar-fixed-top,
  .navbar-fixed-bottom {
    border-radius: 0;
  }
}
.navbar-fixed-top {
  top: 0;
  border-width: 0 0 1px;
}
.navbar-fixed-bottom {
  bottom: 0;
  margin-bottom: 0;
  border-width: 1px 0 0;
}
.navbar-brand {
  float: left;
  padding: 6px 0px;
  font-size: 17px;
  line-height: 18px;
  height: 30px;
}
.navbar-brand:hover,
.navbar-brand:focus {
  text-decoration: none;
}
.navbar-brand > img {
  display: block;
}
@media (min-width: 541px) {
  .navbar > .container .navbar-brand,
  .navbar > .container-fluid .navbar-brand {
    margin-left: 0px;
  }
}
.navbar-toggle {
  position: relative;
  float: right;
  margin-right: 0px;
  padding: 9px 10px;
  margin-top: -2px;
  margin-bottom: -2px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 2px;
}
.navbar-toggle:focus {
  outline: 0;
}
.navbar-toggle .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 1px;
}
.navbar-toggle .icon-bar + .icon-bar {
  margin-top: 4px;
}
@media (min-width: 541px) {
  .navbar-toggle {
    display: none;
  }
}
.navbar-nav {
  margin: 3px 0px;
}
.navbar-nav > li > a {
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 18px;
}
@media (max-width: 540px) {
  .navbar-nav .open .dropdown-menu {
    position: static;
    float: none;
    width: auto;
    margin-top: 0;
    background-color: transparent;
    border: 0;
    box-shadow: none;
  }
  .navbar-nav .open .dropdown-menu > li > a,
  .navbar-nav .open .dropdown-menu .dropdown-header {
    padding: 5px 15px 5px 25px;
  }
  .navbar-nav .open .dropdown-menu > li > a {
    line-height: 18px;
  }
  .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-nav .open .dropdown-menu > li > a:focus {
    background-image: none;
  }
}
@media (min-width: 541px) {
  .navbar-nav {
    float: left;
    margin: 0;
  }
  .navbar-nav > li {
    float: left;
  }
  .navbar-nav > li > a {
    padding-top: 6px;
    padding-bottom: 6px;
  }
}
.navbar-form {
  margin-left: 0px;
  margin-right: 0px;
  padding: 10px 0px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  margin-top: -1px;
  margin-bottom: -1px;
}
@media (min-width: 768px) {
  .navbar-form .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .navbar-form .form-control-static {
    display: inline-block;
  }
  .navbar-form .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .navbar-form .input-group .input-group-addon,
  .navbar-form .input-group .input-group-btn,
  .navbar-form .input-group .form-control {
    width: auto;
  }
  .navbar-form .input-group > .form-control {
    width: 100%;
  }
  .navbar-form .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio,
  .navbar-form .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio label,
  .navbar-form .checkbox label {
    padding-left: 0;
  }
  .navbar-form .radio input[type="radio"],
  .navbar-form .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0;
  }
  .navbar-form .has-feedback .form-control-feedback {
    top: 0;
  }
}
@media (max-width: 540px) {
  .navbar-form .form-group {
    margin-bottom: 5px;
  }
  .navbar-form .form-group:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 541px) {
  .navbar-form {
    width: auto;
    border: 0;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
}
.navbar-nav > li > .dropdown-menu {
  margin-top: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
  margin-bottom: 0;
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.navbar-btn {
  margin-top: -1px;
  margin-bottom: -1px;
}
.navbar-btn.btn-sm {
  margin-top: 0px;
  margin-bottom: 0px;
}
.navbar-btn.btn-xs {
  margin-top: 4px;
  margin-bottom: 4px;
}
.navbar-text {
  margin-top: 6px;
  margin-bottom: 6px;
}
@media (min-width: 541px) {
  .navbar-text {
    float: left;
    margin-left: 0px;
    margin-right: 0px;
  }
}
@media (min-width: 541px) {
  .navbar-left {
    float: left !important;
    float: left;
  }
  .navbar-right {
    float: right !important;
    float: right;
    margin-right: 0px;
  }
  .navbar-right ~ .navbar-right {
    margin-right: 0;
  }
}
.navbar-default {
  background-color: #f8f8f8;
  border-color: #e7e7e7;
}
.navbar-default .navbar-brand {
  color: #777;
}
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
  color: #5e5e5e;
  background-color: transparent;
}
.navbar-default .navbar-text {
  color: #777;
}
.navbar-default .navbar-nav > li > a {
  color: #777;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: #333;
  background-color: transparent;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: #555;
  background-color: #e7e7e7;
}
.navbar-default .navbar-nav > .disabled > a,
.navbar-default .navbar-nav > .disabled > a:hover,
.navbar-default .navbar-nav > .disabled > a:focus {
  color: #ccc;
  background-color: transparent;
}
.navbar-default .navbar-toggle {
  border-color: #ddd;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: #ddd;
}
.navbar-default .navbar-toggle .icon-bar {
  background-color: #888;
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: #e7e7e7;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  background-color: #e7e7e7;
  color: #555;
}
@media (max-width: 540px) {
  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: #777;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #333;
    background-color: transparent;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #555;
    background-color: #e7e7e7;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #ccc;
    background-color: transparent;
  }
}
.navbar-default .navbar-link {
  color: #777;
}
.navbar-default .navbar-link:hover {
  color: #333;
}
.navbar-default .btn-link {
  color: #777;
}
.navbar-default .btn-link:hover,
.navbar-default .btn-link:focus {
  color: #333;
}
.navbar-default .btn-link[disabled]:hover,
fieldset[disabled] .navbar-default .btn-link:hover,
.navbar-default .btn-link[disabled]:focus,
fieldset[disabled] .navbar-default .btn-link:focus {
  color: #ccc;
}
.navbar-inverse {
  background-color: #222;
  border-color: #080808;
}
.navbar-inverse .navbar-brand {
  color: #9d9d9d;
}
.navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-brand:focus {
  color: #fff;
  background-color: transparent;
}
.navbar-inverse .navbar-text {
  color: #9d9d9d;
}
.navbar-inverse .navbar-nav > li > a {
  color: #9d9d9d;
}
.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus {
  color: #fff;
  background-color: transparent;
}
.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a:hover,
.navbar-inverse .navbar-nav > .active > a:focus {
  color: #fff;
  background-color: #080808;
}
.navbar-inverse .navbar-nav > .disabled > a,
.navbar-inverse .navbar-nav > .disabled > a:hover,
.navbar-inverse .navbar-nav > .disabled > a:focus {
  color: #444;
  background-color: transparent;
}
.navbar-inverse .navbar-toggle {
  border-color: #333;
}
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
  background-color: #333;
}
.navbar-inverse .navbar-toggle .icon-bar {
  background-color: #fff;
}
.navbar-inverse .navbar-collapse,
.navbar-inverse .navbar-form {
  border-color: #101010;
}
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .open > a:hover,
.navbar-inverse .navbar-nav > .open > a:focus {
  background-color: #080808;
  color: #fff;
}
@media (max-width: 540px) {
  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
    border-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
    background-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
    color: #9d9d9d;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #fff;
    background-color: transparent;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #fff;
    background-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #444;
    background-color: transparent;
  }
}
.navbar-inverse .navbar-link {
  color: #9d9d9d;
}
.navbar-inverse .navbar-link:hover {
  color: #fff;
}
.navbar-inverse .btn-link {
  color: #9d9d9d;
}
.navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link:focus {
  color: #fff;
}
.navbar-inverse .btn-link[disabled]:hover,
fieldset[disabled] .navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link[disabled]:focus,
fieldset[disabled] .navbar-inverse .btn-link:focus {
  color: #444;
}
.breadcrumb {
  padding: 8px 15px;
  margin-bottom: 18px;
  list-style: none;
  background-color: #f5f5f5;
  border-radius: 2px;
}
.breadcrumb > li {
  display: inline-block;
}
.breadcrumb > li + li:before {
  content: "/\00a0";
  padding: 0 5px;
  color: #5e5e5e;
}
.breadcrumb > .active {
  color: #777777;
}
.pagination {
  display: inline-block;
  padding-left: 0;
  margin: 18px 0;
  border-radius: 2px;
}
.pagination > li {
  display: inline;
}
.pagination > li > a,
.pagination > li > span {
  position: relative;
  float: left;
  padding: 6px 12px;
  line-height: 1.42857143;
  text-decoration: none;
  color: #337ab7;
  background-color: #fff;
  border: 1px solid #ddd;
  margin-left: -1px;
}
.pagination > li:first-child > a,
.pagination > li:first-child > span {
  margin-left: 0;
  border-bottom-left-radius: 2px;
  border-top-left-radius: 2px;
}
.pagination > li:last-child > a,
.pagination > li:last-child > span {
  border-bottom-right-radius: 2px;
  border-top-right-radius: 2px;
}
.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
  z-index: 2;
  color: #23527c;
  background-color: #eeeeee;
  border-color: #ddd;
}
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  z-index: 3;
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
  cursor: default;
}
.pagination > .disabled > span,
.pagination > .disabled > span:hover,
.pagination > .disabled > span:focus,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
  color: #777777;
  background-color: #fff;
  border-color: #ddd;
  cursor: not-allowed;
}
.pagination-lg > li > a,
.pagination-lg > li > span {
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
}
.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}
.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}
.pagination-sm > li > a,
.pagination-sm > li > span {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
}
.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
  border-bottom-left-radius: 1px;
  border-top-left-radius: 1px;
}
.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
  border-bottom-right-radius: 1px;
  border-top-right-radius: 1px;
}
.pager {
  padding-left: 0;
  margin: 18px 0;
  list-style: none;
  text-align: center;
}
.pager li {
  display: inline;
}
.pager li > a,
.pager li > span {
  display: inline-block;
  padding: 5px 14px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 15px;
}
.pager li > a:hover,
.pager li > a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.pager .next > a,
.pager .next > span {
  float: right;
}
.pager .previous > a,
.pager .previous > span {
  float: left;
}
.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > a:focus,
.pager .disabled > span {
  color: #777777;
  background-color: #fff;
  cursor: not-allowed;
}
.label {
  display: inline;
  padding: .2em .6em .3em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .25em;
}
a.label:hover,
a.label:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}
.label:empty {
  display: none;
}
.btn .label {
  position: relative;
  top: -1px;
}
.label-default {
  background-color: #777777;
}
.label-default[href]:hover,
.label-default[href]:focus {
  background-color: #5e5e5e;
}
.label-primary {
  background-color: #337ab7;
}
.label-primary[href]:hover,
.label-primary[href]:focus {
  background-color: #286090;
}
.label-success {
  background-color: #5cb85c;
}
.label-success[href]:hover,
.label-success[href]:focus {
  background-color: #449d44;
}
.label-info {
  background-color: #5bc0de;
}
.label-info[href]:hover,
.label-info[href]:focus {
  background-color: #31b0d5;
}
.label-warning {
  background-color: #f0ad4e;
}
.label-warning[href]:hover,
.label-warning[href]:focus {
  background-color: #ec971f;
}
.label-danger {
  background-color: #d9534f;
}
.label-danger[href]:hover,
.label-danger[href]:focus {
  background-color: #c9302c;
}
.badge {
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
  text-align: center;
  background-color: #777777;
  border-radius: 10px;
}
.badge:empty {
  display: none;
}
.btn .badge {
  position: relative;
  top: -1px;
}
.btn-xs .badge,
.btn-group-xs > .btn .badge {
  top: 0;
  padding: 1px 5px;
}
a.badge:hover,
a.badge:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}
.list-group-item.active > .badge,
.nav-pills > .active > a > .badge {
  color: #337ab7;
  background-color: #fff;
}
.list-group-item > .badge {
  float: right;
}
.list-group-item > .badge + .badge {
  margin-right: 5px;
}
.nav-pills > li > a > .badge {
  margin-left: 3px;
}
.jumbotron {
  padding-top: 30px;
  padding-bottom: 30px;
  margin-bottom: 30px;
  color: inherit;
  background-color: #eeeeee;
}
.jumbotron h1,
.jumbotron .h1 {
  color: inherit;
}
.jumbotron p {
  margin-bottom: 15px;
  font-size: 20px;
  font-weight: 200;
}
.jumbotron > hr {
  border-top-color: #d5d5d5;
}
.container .jumbotron,
.container-fluid .jumbotron {
  border-radius: 3px;
  padding-left: 0px;
  padding-right: 0px;
}
.jumbotron .container {
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .jumbotron {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  .container .jumbotron,
  .container-fluid .jumbotron {
    padding-left: 60px;
    padding-right: 60px;
  }
  .jumbotron h1,
  .jumbotron .h1 {
    font-size: 59px;
  }
}
.thumbnail {
  display: block;
  padding: 4px;
  margin-bottom: 18px;
  line-height: 1.42857143;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 2px;
  -webkit-transition: border 0.2s ease-in-out;
  -o-transition: border 0.2s ease-in-out;
  transition: border 0.2s ease-in-out;
}
.thumbnail > img,
.thumbnail a > img {
  margin-left: auto;
  margin-right: auto;
}
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #337ab7;
}
.thumbnail .caption {
  padding: 9px;
  color: #000;
}
.alert {
  padding: 15px;
  margin-bottom: 18px;
  border: 1px solid transparent;
  border-radius: 2px;
}
.alert h4 {
  margin-top: 0;
  color: inherit;
}
.alert .alert-link {
  font-weight: bold;
}
.alert > p,
.alert > ul {
  margin-bottom: 0;
}
.alert > p + p {
  margin-top: 5px;
}
.alert-dismissable,
.alert-dismissible {
  padding-right: 35px;
}
.alert-dismissable .close,
.alert-dismissible .close {
  position: relative;
  top: -2px;
  right: -21px;
  color: inherit;
}
.alert-success {
  background-color: #dff0d8;
  border-color: #d6e9c6;
  color: #3c763d;
}
.alert-success hr {
  border-top-color: #c9e2b3;
}
.alert-success .alert-link {
  color: #2b542c;
}
.alert-info {
  background-color: #d9edf7;
  border-color: #bce8f1;
  color: #31708f;
}
.alert-info hr {
  border-top-color: #a6e1ec;
}
.alert-info .alert-link {
  color: #245269;
}
.alert-warning {
  background-color: #fcf8e3;
  border-color: #faebcc;
  color: #8a6d3b;
}
.alert-warning hr {
  border-top-color: #f7e1b5;
}
.alert-warning .alert-link {
  color: #66512c;
}
.alert-danger {
  background-color: #f2dede;
  border-color: #ebccd1;
  color: #a94442;
}
.alert-danger hr {
  border-top-color: #e4b9c0;
}
.alert-danger .alert-link {
  color: #843534;
}
@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
@keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
.progress {
  overflow: hidden;
  height: 18px;
  margin-bottom: 18px;
  background-color: #f5f5f5;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
.progress-bar {
  float: left;
  width: 0%;
  height: 100%;
  font-size: 12px;
  line-height: 18px;
  color: #fff;
  text-align: center;
  background-color: #337ab7;
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: width 0.6s ease;
  -o-transition: width 0.6s ease;
  transition: width 0.6s ease;
}
.progress-striped .progress-bar,
.progress-bar-striped {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 40px 40px;
}
.progress.active .progress-bar,
.progress-bar.active {
  -webkit-animation: progress-bar-stripes 2s linear infinite;
  -o-animation: progress-bar-stripes 2s linear infinite;
  animation: progress-bar-stripes 2s linear infinite;
}
.progress-bar-success {
  background-color: #5cb85c;
}
.progress-striped .progress-bar-success {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-info {
  background-color: #5bc0de;
}
.progress-striped .progress-bar-info {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-warning {
  background-color: #f0ad4e;
}
.progress-striped .progress-bar-warning {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-danger {
  background-color: #d9534f;
}
.progress-striped .progress-bar-danger {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.media {
  margin-top: 15px;
}
.media:first-child {
  margin-top: 0;
}
.media,
.media-body {
  zoom: 1;
  overflow: hidden;
}
.media-body {
  width: 10000px;
}
.media-object {
  display: block;
}
.media-object.img-thumbnail {
  max-width: none;
}
.media-right,
.media > .pull-right {
  padding-left: 10px;
}
.media-left,
.media > .pull-left {
  padding-right: 10px;
}
.media-left,
.media-right,
.media-body {
  display: table-cell;
  vertical-align: top;
}
.media-middle {
  vertical-align: middle;
}
.media-bottom {
  vertical-align: bottom;
}
.media-heading {
  margin-top: 0;
  margin-bottom: 5px;
}
.media-list {
  padding-left: 0;
  list-style: none;
}
.list-group {
  margin-bottom: 20px;
  padding-left: 0;
}
.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
  border: 1px solid #ddd;
}
.list-group-item:first-child {
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
}
.list-group-item:last-child {
  margin-bottom: 0;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}
a.list-group-item,
button.list-group-item {
  color: #555;
}
a.list-group-item .list-group-item-heading,
button.list-group-item .list-group-item-heading {
  color: #333;
}
a.list-group-item:hover,
button.list-group-item:hover,
a.list-group-item:focus,
button.list-group-item:focus {
  text-decoration: none;
  color: #555;
  background-color: #f5f5f5;
}
button.list-group-item {
  width: 100%;
  text-align: left;
}
.list-group-item.disabled,
.list-group-item.disabled:hover,
.list-group-item.disabled:focus {
  background-color: #eeeeee;
  color: #777777;
  cursor: not-allowed;
}
.list-group-item.disabled .list-group-item-heading,
.list-group-item.disabled:hover .list-group-item-heading,
.list-group-item.disabled:focus .list-group-item-heading {
  color: inherit;
}
.list-group-item.disabled .list-group-item-text,
.list-group-item.disabled:hover .list-group-item-text,
.list-group-item.disabled:focus .list-group-item-text {
  color: #777777;
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
  z-index: 2;
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.list-group-item.active .list-group-item-heading,
.list-group-item.active:hover .list-group-item-heading,
.list-group-item.active:focus .list-group-item-heading,
.list-group-item.active .list-group-item-heading > small,
.list-group-item.active:hover .list-group-item-heading > small,
.list-group-item.active:focus .list-group-item-heading > small,
.list-group-item.active .list-group-item-heading > .small,
.list-group-item.active:hover .list-group-item-heading > .small,
.list-group-item.active:focus .list-group-item-heading > .small {
  color: inherit;
}
.list-group-item.active .list-group-item-text,
.list-group-item.active:hover .list-group-item-text,
.list-group-item.active:focus .list-group-item-text {
  color: #c7ddef;
}
.list-group-item-success {
  color: #3c763d;
  background-color: #dff0d8;
}
a.list-group-item-success,
button.list-group-item-success {
  color: #3c763d;
}
a.list-group-item-success .list-group-item-heading,
button.list-group-item-success .list-group-item-heading {
  color: inherit;
}
a.list-group-item-success:hover,
button.list-group-item-success:hover,
a.list-group-item-success:focus,
button.list-group-item-success:focus {
  color: #3c763d;
  background-color: #d0e9c6;
}
a.list-group-item-success.active,
button.list-group-item-success.active,
a.list-group-item-success.active:hover,
button.list-group-item-success.active:hover,
a.list-group-item-success.active:focus,
button.list-group-item-success.active:focus {
  color: #fff;
  background-color: #3c763d;
  border-color: #3c763d;
}
.list-group-item-info {
  color: #31708f;
  background-color: #d9edf7;
}
a.list-group-item-info,
button.list-group-item-info {
  color: #31708f;
}
a.list-group-item-info .list-group-item-heading,
button.list-group-item-info .list-group-item-heading {
  color: inherit;
}
a.list-group-item-info:hover,
button.list-group-item-info:hover,
a.list-group-item-info:focus,
button.list-group-item-info:focus {
  color: #31708f;
  background-color: #c4e3f3;
}
a.list-group-item-info.active,
button.list-group-item-info.active,
a.list-group-item-info.active:hover,
button.list-group-item-info.active:hover,
a.list-group-item-info.active:focus,
button.list-group-item-info.active:focus {
  color: #fff;
  background-color: #31708f;
  border-color: #31708f;
}
.list-group-item-warning {
  color: #8a6d3b;
  background-color: #fcf8e3;
}
a.list-group-item-warning,
button.list-group-item-warning {
  color: #8a6d3b;
}
a.list-group-item-warning .list-group-item-heading,
button.list-group-item-warning .list-group-item-heading {
  color: inherit;
}
a.list-group-item-warning:hover,
button.list-group-item-warning:hover,
a.list-group-item-warning:focus,
button.list-group-item-warning:focus {
  color: #8a6d3b;
  background-color: #faf2cc;
}
a.list-group-item-warning.active,
button.list-group-item-warning.active,
a.list-group-item-warning.active:hover,
button.list-group-item-warning.active:hover,
a.list-group-item-warning.active:focus,
button.list-group-item-warning.active:focus {
  color: #fff;
  background-color: #8a6d3b;
  border-color: #8a6d3b;
}
.list-group-item-danger {
  color: #a94442;
  background-color: #f2dede;
}
a.list-group-item-danger,
button.list-group-item-danger {
  color: #a94442;
}
a.list-group-item-danger .list-group-item-heading,
button.list-group-item-danger .list-group-item-heading {
  color: inherit;
}
a.list-group-item-danger:hover,
button.list-group-item-danger:hover,
a.list-group-item-danger:focus,
button.list-group-item-danger:focus {
  color: #a94442;
  background-color: #ebcccc;
}
a.list-group-item-danger.active,
button.list-group-item-danger.active,
a.list-group-item-danger.active:hover,
button.list-group-item-danger.active:hover,
a.list-group-item-danger.active:focus,
button.list-group-item-danger.active:focus {
  color: #fff;
  background-color: #a94442;
  border-color: #a94442;
}
.list-group-item-heading {
  margin-top: 0;
  margin-bottom: 5px;
}
.list-group-item-text {
  margin-bottom: 0;
  line-height: 1.3;
}
.panel {
  margin-bottom: 18px;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 2px;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}
.panel-body {
  padding: 15px;
}
.panel-heading {
  padding: 10px 15px;
  border-bottom: 1px solid transparent;
  border-top-right-radius: 1px;
  border-top-left-radius: 1px;
}
.panel-heading > .dropdown .dropdown-toggle {
  color: inherit;
}
.panel-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 15px;
  color: inherit;
}
.panel-title > a,
.panel-title > small,
.panel-title > .small,
.panel-title > small > a,
.panel-title > .small > a {
  color: inherit;
}
.panel-footer {
  padding: 10px 15px;
  background-color: #f5f5f5;
  border-top: 1px solid #ddd;
  border-bottom-right-radius: 1px;
  border-bottom-left-radius: 1px;
}
.panel > .list-group,
.panel > .panel-collapse > .list-group {
  margin-bottom: 0;
}
.panel > .list-group .list-group-item,
.panel > .panel-collapse > .list-group .list-group-item {
  border-width: 1px 0;
  border-radius: 0;
}
.panel > .list-group:first-child .list-group-item:first-child,
.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
  border-top: 0;
  border-top-right-radius: 1px;
  border-top-left-radius: 1px;
}
.panel > .list-group:last-child .list-group-item:last-child,
.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
  border-bottom: 0;
  border-bottom-right-radius: 1px;
  border-bottom-left-radius: 1px;
}
.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.panel-heading + .list-group .list-group-item:first-child {
  border-top-width: 0;
}
.list-group + .panel-footer {
  border-top-width: 0;
}
.panel > .table,
.panel > .table-responsive > .table,
.panel > .panel-collapse > .table {
  margin-bottom: 0;
}
.panel > .table caption,
.panel > .table-responsive > .table caption,
.panel > .panel-collapse > .table caption {
  padding-left: 15px;
  padding-right: 15px;
}
.panel > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child {
  border-top-right-radius: 1px;
  border-top-left-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
  border-top-left-radius: 1px;
  border-top-right-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
  border-top-left-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
  border-top-right-radius: 1px;
}
.panel > .table:last-child,
.panel > .table-responsive:last-child > .table:last-child {
  border-bottom-right-radius: 1px;
  border-bottom-left-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
  border-bottom-left-radius: 1px;
  border-bottom-right-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
  border-bottom-left-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
  border-bottom-right-radius: 1px;
}
.panel > .panel-body + .table,
.panel > .panel-body + .table-responsive,
.panel > .table + .panel-body,
.panel > .table-responsive + .panel-body {
  border-top: 1px solid #ddd;
}
.panel > .table > tbody:first-child > tr:first-child th,
.panel > .table > tbody:first-child > tr:first-child td {
  border-top: 0;
}
.panel > .table-bordered,
.panel > .table-responsive > .table-bordered {
  border: 0;
}
.panel > .table-bordered > thead > tr > th:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
.panel > .table-bordered > tbody > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
.panel > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-bordered > thead > tr > td:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
.panel > .table-bordered > tbody > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
.panel > .table-bordered > tfoot > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
  border-left: 0;
}
.panel > .table-bordered > thead > tr > th:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
.panel > .table-bordered > tbody > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
.panel > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-bordered > thead > tr > td:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
.panel > .table-bordered > tbody > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
.panel > .table-bordered > tfoot > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
  border-right: 0;
}
.panel > .table-bordered > thead > tr:first-child > td,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
.panel > .table-bordered > tbody > tr:first-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
.panel > .table-bordered > thead > tr:first-child > th,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
.panel > .table-bordered > tbody > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
  border-bottom: 0;
}
.panel > .table-bordered > tbody > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
.panel > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-bordered > tbody > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
.panel > .table-bordered > tfoot > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
  border-bottom: 0;
}
.panel > .table-responsive {
  border: 0;
  margin-bottom: 0;
}
.panel-group {
  margin-bottom: 18px;
}
.panel-group .panel {
  margin-bottom: 0;
  border-radius: 2px;
}
.panel-group .panel + .panel {
  margin-top: 5px;
}
.panel-group .panel-heading {
  border-bottom: 0;
}
.panel-group .panel-heading + .panel-collapse > .panel-body,
.panel-group .panel-heading + .panel-collapse > .list-group {
  border-top: 1px solid #ddd;
}
.panel-group .panel-footer {
  border-top: 0;
}
.panel-group .panel-footer + .panel-collapse .panel-body {
  border-bottom: 1px solid #ddd;
}
.panel-default {
  border-color: #ddd;
}
.panel-default > .panel-heading {
  color: #333333;
  background-color: #f5f5f5;
  border-color: #ddd;
}
.panel-default > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #ddd;
}
.panel-default > .panel-heading .badge {
  color: #f5f5f5;
  background-color: #333333;
}
.panel-default > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #ddd;
}
.panel-primary {
  border-color: #337ab7;
}
.panel-primary > .panel-heading {
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #337ab7;
}
.panel-primary > .panel-heading .badge {
  color: #337ab7;
  background-color: #fff;
}
.panel-primary > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #337ab7;
}
.panel-success {
  border-color: #d6e9c6;
}
.panel-success > .panel-heading {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: #d6e9c6;
}
.panel-success > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #d6e9c6;
}
.panel-success > .panel-heading .badge {
  color: #dff0d8;
  background-color: #3c763d;
}
.panel-success > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #d6e9c6;
}
.panel-info {
  border-color: #bce8f1;
}
.panel-info > .panel-heading {
  color: #31708f;
  background-color: #d9edf7;
  border-color: #bce8f1;
}
.panel-info > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #bce8f1;
}
.panel-info > .panel-heading .badge {
  color: #d9edf7;
  background-color: #31708f;
}
.panel-info > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #bce8f1;
}
.panel-warning {
  border-color: #faebcc;
}
.panel-warning > .panel-heading {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: #faebcc;
}
.panel-warning > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #faebcc;
}
.panel-warning > .panel-heading .badge {
  color: #fcf8e3;
  background-color: #8a6d3b;
}
.panel-warning > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #faebcc;
}
.panel-danger {
  border-color: #ebccd1;
}
.panel-danger > .panel-heading {
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1;
}
.panel-danger > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #ebccd1;
}
.panel-danger > .panel-heading .badge {
  color: #f2dede;
  background-color: #a94442;
}
.panel-danger > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #ebccd1;
}
.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden;
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  border: 0;
}
.embed-responsive-16by9 {
  padding-bottom: 56.25%;
}
.embed-responsive-4by3 {
  padding-bottom: 75%;
}
.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
.well blockquote {
  border-color: #ddd;
  border-color: rgba(0, 0, 0, 0.15);
}
.well-lg {
  padding: 24px;
  border-radius: 3px;
}
.well-sm {
  padding: 9px;
  border-radius: 1px;
}
.close {
  float: right;
  font-size: 19.5px;
  font-weight: bold;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.2;
  filter: alpha(opacity=20);
}
.close:hover,
.close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
  opacity: 0.5;
  filter: alpha(opacity=50);
}
button.close {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
}
.modal-open {
  overflow: hidden;
}
.modal {
  display: none;
  overflow: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  -webkit-overflow-scrolling: touch;
  outline: 0;
}
.modal.fade .modal-dialog {
  -webkit-transform: translate(0, -25%);
  -ms-transform: translate(0, -25%);
  -o-transform: translate(0, -25%);
  transform: translate(0, -25%);
  -webkit-transition: -webkit-transform 0.3s ease-out;
  -moz-transition: -moz-transform 0.3s ease-out;
  -o-transition: -o-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
}
.modal.in .modal-dialog {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}
.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}
.modal-dialog {
  position: relative;
  width: auto;
  margin: 10px;
}
.modal-content {
  position: relative;
  background-color: #fff;
  border: 1px solid #999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 3px;
  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  background-clip: padding-box;
  outline: 0;
}
.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000;
}
.modal-backdrop.fade {
  opacity: 0;
  filter: alpha(opacity=0);
}
.modal-backdrop.in {
  opacity: 0.5;
  filter: alpha(opacity=50);
}
.modal-header {
  padding: 15px;
  border-bottom: 1px solid #e5e5e5;
}
.modal-header .close {
  margin-top: -2px;
}
.modal-title {
  margin: 0;
  line-height: 1.42857143;
}
.modal-body {
  position: relative;
  padding: 15px;
}
.modal-footer {
  padding: 15px;
  text-align: right;
  border-top: 1px solid #e5e5e5;
}
.modal-footer .btn + .btn {
  margin-left: 5px;
  margin-bottom: 0;
}
.modal-footer .btn-group .btn + .btn {
  margin-left: -1px;
}
.modal-footer .btn-block + .btn-block {
  margin-left: 0;
}
.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}
@media (min-width: 768px) {
  .modal-dialog {
    width: 600px;
    margin: 30px auto;
  }
  .modal-content {
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  }
  .modal-sm {
    width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg {
    width: 900px;
  }
}
.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.42857143;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 12px;
  opacity: 0;
  filter: alpha(opacity=0);
}
.tooltip.in {
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.tooltip.top {
  margin-top: -3px;
  padding: 5px 0;
}
.tooltip.right {
  margin-left: 3px;
  padding: 0 5px;
}
.tooltip.bottom {
  margin-top: 3px;
  padding: 5px 0;
}
.tooltip.left {
  margin-left: -3px;
  padding: 0 5px;
}
.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 2px;
}
.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-left .tooltip-arrow {
  bottom: 0;
  right: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-right .tooltip-arrow {
  bottom: 0;
  left: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #000;
}
.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #000;
}
.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-left .tooltip-arrow {
  top: 0;
  right: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-right .tooltip-arrow {
  top: 0;
  left: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: none;
  max-width: 276px;
  padding: 1px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.42857143;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 13px;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 3px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
.popover.top {
  margin-top: -10px;
}
.popover.right {
  margin-left: 10px;
}
.popover.bottom {
  margin-top: 10px;
}
.popover.left {
  margin-left: -10px;
}
.popover-title {
  margin: 0;
  padding: 8px 14px;
  font-size: 13px;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-radius: 2px 2px 0 0;
}
.popover-content {
  padding: 9px 14px;
}
.popover > .arrow,
.popover > .arrow:after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.popover > .arrow {
  border-width: 11px;
}
.popover > .arrow:after {
  border-width: 10px;
  content: "";
}
.popover.top > .arrow {
  left: 50%;
  margin-left: -11px;
  border-bottom-width: 0;
  border-top-color: #999999;
  border-top-color: rgba(0, 0, 0, 0.25);
  bottom: -11px;
}
.popover.top > .arrow:after {
  content: " ";
  bottom: 1px;
  margin-left: -10px;
  border-bottom-width: 0;
  border-top-color: #fff;
}
.popover.right > .arrow {
  top: 50%;
  left: -11px;
  margin-top: -11px;
  border-left-width: 0;
  border-right-color: #999999;
  border-right-color: rgba(0, 0, 0, 0.25);
}
.popover.right > .arrow:after {
  content: " ";
  left: 1px;
  bottom: -10px;
  border-left-width: 0;
  border-right-color: #fff;
}
.popover.bottom > .arrow {
  left: 50%;
  margin-left: -11px;
  border-top-width: 0;
  border-bottom-color: #999999;
  border-bottom-color: rgba(0, 0, 0, 0.25);
  top: -11px;
}
.popover.bottom > .arrow:after {
  content: " ";
  top: 1px;
  margin-left: -10px;
  border-top-width: 0;
  border-bottom-color: #fff;
}
.popover.left > .arrow {
  top: 50%;
  right: -11px;
  margin-top: -11px;
  border-right-width: 0;
  border-left-color: #999999;
  border-left-color: rgba(0, 0, 0, 0.25);
}
.popover.left > .arrow:after {
  content: " ";
  right: 1px;
  border-right-width: 0;
  border-left-color: #fff;
  bottom: -10px;
}
.carousel {
  position: relative;
}
.carousel-inner {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.carousel-inner > .item {
  display: none;
  position: relative;
  -webkit-transition: 0.6s ease-in-out left;
  -o-transition: 0.6s ease-in-out left;
  transition: 0.6s ease-in-out left;
}
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  line-height: 1;
}
@media all and (transform-3d), (-webkit-transform-3d) {
  .carousel-inner > .item {
    -webkit-transition: -webkit-transform 0.6s ease-in-out;
    -moz-transition: -moz-transform 0.6s ease-in-out;
    -o-transition: -o-transform 0.6s ease-in-out;
    transition: transform 0.6s ease-in-out;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000px;
    -moz-perspective: 1000px;
    perspective: 1000px;
  }
  .carousel-inner > .item.next,
  .carousel-inner > .item.active.right {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    left: 0;
  }
  .carousel-inner > .item.prev,
  .carousel-inner > .item.active.left {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    left: 0;
  }
  .carousel-inner > .item.next.left,
  .carousel-inner > .item.prev.right,
  .carousel-inner > .item.active {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    left: 0;
  }
}
.carousel-inner > .active,
.carousel-inner > .next,
.carousel-inner > .prev {
  display: block;
}
.carousel-inner > .active {
  left: 0;
}
.carousel-inner > .next,
.carousel-inner > .prev {
  position: absolute;
  top: 0;
  width: 100%;
}
.carousel-inner > .next {
  left: 100%;
}
.carousel-inner > .prev {
  left: -100%;
}
.carousel-inner > .next.left,
.carousel-inner > .prev.right {
  left: 0;
}
.carousel-inner > .active.left {
  left: -100%;
}
.carousel-inner > .active.right {
  left: 100%;
}
.carousel-control {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 15%;
  opacity: 0.5;
  filter: alpha(opacity=50);
  font-size: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  background-color: rgba(0, 0, 0, 0);
}
.carousel-control.left {
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
}
.carousel-control.right {
  left: auto;
  right: 0;
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
}
.carousel-control:hover,
.carousel-control:focus {
  outline: 0;
  color: #fff;
  text-decoration: none;
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.carousel-control .icon-prev,
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right {
  position: absolute;
  top: 50%;
  margin-top: -10px;
  z-index: 5;
  display: inline-block;
}
.carousel-control .icon-prev,
.carousel-control .glyphicon-chevron-left {
  left: 50%;
  margin-left: -10px;
}
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-right {
  right: 50%;
  margin-right: -10px;
}
.carousel-control .icon-prev,
.carousel-control .icon-next {
  width: 20px;
  height: 20px;
  line-height: 1;
  font-family: serif;
}
.carousel-control .icon-prev:before {
  content: '\2039';
}
.carousel-control .icon-next:before {
  content: '\203a';
}
.carousel-indicators {
  position: absolute;
  bottom: 10px;
  left: 50%;
  z-index: 15;
  width: 60%;
  margin-left: -30%;
  padding-left: 0;
  list-style: none;
  text-align: center;
}
.carousel-indicators li {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 1px;
  text-indent: -999px;
  border: 1px solid #fff;
  border-radius: 10px;
  cursor: pointer;
  background-color: #000 \9;
  background-color: rgba(0, 0, 0, 0);
}
.carousel-indicators .active {
  margin: 0;
  width: 12px;
  height: 12px;
  background-color: #fff;
}
.carousel-caption {
  position: absolute;
  left: 15%;
  right: 15%;
  bottom: 20px;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.carousel-caption .btn {
  text-shadow: none;
}
@media screen and (min-width: 768px) {
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 30px;
    height: 30px;
    margin-top: -10px;
    font-size: 30px;
  }
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .icon-prev {
    margin-left: -10px;
  }
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-next {
    margin-right: -10px;
  }
  .carousel-caption {
    left: 20%;
    right: 20%;
    padding-bottom: 30px;
  }
  .carousel-indicators {
    bottom: 20px;
  }
}
.clearfix:before,
.clearfix:after,
.dl-horizontal dd:before,
.dl-horizontal dd:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after,
.form-horizontal .form-group:before,
.form-horizontal .form-group:after,
.btn-toolbar:before,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:before,
.btn-group-vertical > .btn-group:after,
.nav:before,
.nav:after,
.navbar:before,
.navbar:after,
.navbar-header:before,
.navbar-header:after,
.navbar-collapse:before,
.navbar-collapse:after,
.pager:before,
.pager:after,
.panel-body:before,
.panel-body:after,
.modal-header:before,
.modal-header:after,
.modal-footer:before,
.modal-footer:after,
.item_buttons:before,
.item_buttons:after {
  content: " ";
  display: table;
}
.clearfix:after,
.dl-horizontal dd:after,
.container:after,
.container-fluid:after,
.row:after,
.form-horizontal .form-group:after,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:after,
.nav:after,
.navbar:after,
.navbar-header:after,
.navbar-collapse:after,
.pager:after,
.panel-body:after,
.modal-header:after,
.modal-footer:after,
.item_buttons:after {
  clear: both;
}
.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.pull-right {
  float: right !important;
}
.pull-left {
  float: left !important;
}
.hide {
  display: none !important;
}
.show {
  display: block !important;
}
.invisible {
  visibility: hidden;
}
.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}
.hidden {
  display: none !important;
}
.affix {
  position: fixed;
}
@-ms-viewport {
  width: device-width;
}
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg {
  display: none !important;
}
.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important;
}
@media (max-width: 767px) {
  .visible-xs {
    display: block !important;
  }
  table.visible-xs {
    display: table !important;
  }
  tr.visible-xs {
    display: table-row !important;
  }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important;
  }
  table.visible-sm {
    display: table !important;
  }
  tr.visible-sm {
    display: table-row !important;
  }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important;
  }
  table.visible-md {
    display: table !important;
  }
  tr.visible-md {
    display: table-row !important;
  }
  th.visible-md,
  td.visible-md {
    display: table-cell !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-block {
    display: block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline {
    display: inline !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg {
    display: block !important;
  }
  table.visible-lg {
    display: table !important;
  }
  tr.visible-lg {
    display: table-row !important;
  }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-block {
    display: block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline {
    display: inline !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline-block {
    display: inline-block !important;
  }
}
@media (max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important;
  }
}
.visible-print {
  display: none !important;
}
@media print {
  .visible-print {
    display: block !important;
  }
  table.visible-print {
    display: table !important;
  }
  tr.visible-print {
    display: table-row !important;
  }
  th.visible-print,
  td.visible-print {
    display: table-cell !important;
  }
}
.visible-print-block {
  display: none !important;
}
@media print {
  .visible-print-block {
    display: block !important;
  }
}
.visible-print-inline {
  display: none !important;
}
@media print {
  .visible-print-inline {
    display: inline !important;
  }
}
.visible-print-inline-block {
  display: none !important;
}
@media print {
  .visible-print-inline-block {
    display: inline-block !important;
  }
}
@media print {
  .hidden-print {
    display: none !important;
  }
}
/*!
*
* Font Awesome
*
*/
/*!
 *  Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: 'FontAwesome';
  src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0');
  src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style: normal;
}
.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.33333333em;
  line-height: 0.75em;
  vertical-align: -15%;
}
.fa-2x {
  font-size: 2em;
}
.fa-3x {
  font-size: 3em;
}
.fa-4x {
  font-size: 4em;
}
.fa-5x {
  font-size: 5em;
}
.fa-fw {
  width: 1.28571429em;
  text-align: center;
}
.fa-ul {
  padding-left: 0;
  margin-left: 2.14285714em;
  list-style-type: none;
}
.fa-ul > li {
  position: relative;
}
.fa-li {
  position: absolute;
  left: -2.14285714em;
  width: 2.14285714em;
  top: 0.14285714em;
  text-align: center;
}
.fa-li.fa-lg {
  left: -1.85714286em;
}
.fa-border {
  padding: .2em .25em .15em;
  border: solid 0.08em #eee;
  border-radius: .1em;
}
.pull-right {
  float: right;
}
.pull-left {
  float: left;
}
.fa.pull-left {
  margin-right: .3em;
}
.fa.pull-right {
  margin-left: .3em;
}
.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear;
}
@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
.fa-rotate-90 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}
.fa-rotate-180 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}
.fa-rotate-270 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}
.fa-flip-horizontal {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1);
}
.fa-flip-vertical {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1);
}
:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  filter: none;
}
.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}
.fa-stack-1x,
.fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}
.fa-stack-1x {
  line-height: inherit;
}
.fa-stack-2x {
  font-size: 2em;
}
.fa-inverse {
  color: #fff;
}
/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: "\f000";
}
.fa-music:before {
  content: "\f001";
}
.fa-search:before {
  content: "\f002";
}
.fa-envelope-o:before {
  content: "\f003";
}
.fa-heart:before {
  content: "\f004";
}
.fa-star:before {
  content: "\f005";
}
.fa-star-o:before {
  content: "\f006";
}
.fa-user:before {
  content: "\f007";
}
.fa-film:before {
  content: "\f008";
}
.fa-th-large:before {
  content: "\f009";
}
.fa-th:before {
  content: "\f00a";
}
.fa-th-list:before {
  content: "\f00b";
}
.fa-check:before {
  content: "\f00c";
}
.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: "\f00d";
}
.fa-search-plus:before {
  content: "\f00e";
}
.fa-search-minus:before {
  content: "\f010";
}
.fa-power-off:before {
  content: "\f011";
}
.fa-signal:before {
  content: "\f012";
}
.fa-gear:before,
.fa-cog:before {
  content: "\f013";
}
.fa-trash-o:before {
  content: "\f014";
}
.fa-home:before {
  content: "\f015";
}
.fa-file-o:before {
  content: "\f016";
}
.fa-clock-o:before {
  content: "\f017";
}
.fa-road:before {
  content: "\f018";
}
.fa-download:before {
  content: "\f019";
}
.fa-arrow-circle-o-down:before {
  content: "\f01a";
}
.fa-arrow-circle-o-up:before {
  content: "\f01b";
}
.fa-inbox:before {
  content: "\f01c";
}
.fa-play-circle-o:before {
  content: "\f01d";
}
.fa-rotate-right:before,
.fa-repeat:before {
  content: "\f01e";
}
.fa-refresh:before {
  content: "\f021";
}
.fa-list-alt:before {
  content: "\f022";
}
.fa-lock:before {
  content: "\f023";
}
.fa-flag:before {
  content: "\f024";
}
.fa-headphones:before {
  content: "\f025";
}
.fa-volume-off:before {
  content: "\f026";
}
.fa-volume-down:before {
  content: "\f027";
}
.fa-volume-up:before {
  content: "\f028";
}
.fa-qrcode:before {
  content: "\f029";
}
.fa-barcode:before {
  content: "\f02a";
}
.fa-tag:before {
  content: "\f02b";
}
.fa-tags:before {
  content: "\f02c";
}
.fa-book:before {
  content: "\f02d";
}
.fa-bookmark:before {
  content: "\f02e";
}
.fa-print:before {
  content: "\f02f";
}
.fa-camera:before {
  content: "\f030";
}
.fa-font:before {
  content: "\f031";
}
.fa-bold:before {
  content: "\f032";
}
.fa-italic:before {
  content: "\f033";
}
.fa-text-height:before {
  content: "\f034";
}
.fa-text-width:before {
  content: "\f035";
}
.fa-align-left:before {
  content: "\f036";
}
.fa-align-center:before {
  content: "\f037";
}
.fa-align-right:before {
  content: "\f038";
}
.fa-align-justify:before {
  content: "\f039";
}
.fa-list:before {
  content: "\f03a";
}
.fa-dedent:before,
.fa-outdent:before {
  content: "\f03b";
}
.fa-indent:before {
  content: "\f03c";
}
.fa-video-camera:before {
  content: "\f03d";
}
.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: "\f03e";
}
.fa-pencil:before {
  content: "\f040";
}
.fa-map-marker:before {
  content: "\f041";
}
.fa-adjust:before {
  content: "\f042";
}
.fa-tint:before {
  content: "\f043";
}
.fa-edit:before,
.fa-pencil-square-o:before {
  content: "\f044";
}
.fa-share-square-o:before {
  content: "\f045";
}
.fa-check-square-o:before {
  content: "\f046";
}
.fa-arrows:before {
  content: "\f047";
}
.fa-step-backward:before {
  content: "\f048";
}
.fa-fast-backward:before {
  content: "\f049";
}
.fa-backward:before {
  content: "\f04a";
}
.fa-play:before {
  content: "\f04b";
}
.fa-pause:before {
  content: "\f04c";
}
.fa-stop:before {
  content: "\f04d";
}
.fa-forward:before {
  content: "\f04e";
}
.fa-fast-forward:before {
  content: "\f050";
}
.fa-step-forward:before {
  content: "\f051";
}
.fa-eject:before {
  content: "\f052";
}
.fa-chevron-left:before {
  content: "\f053";
}
.fa-chevron-right:before {
  content: "\f054";
}
.fa-plus-circle:before {
  content: "\f055";
}
.fa-minus-circle:before {
  content: "\f056";
}
.fa-times-circle:before {
  content: "\f057";
}
.fa-check-circle:before {
  content: "\f058";
}
.fa-question-circle:before {
  content: "\f059";
}
.fa-info-circle:before {
  content: "\f05a";
}
.fa-crosshairs:before {
  content: "\f05b";
}
.fa-times-circle-o:before {
  content: "\f05c";
}
.fa-check-circle-o:before {
  content: "\f05d";
}
.fa-ban:before {
  content: "\f05e";
}
.fa-arrow-left:before {
  content: "\f060";
}
.fa-arrow-right:before {
  content: "\f061";
}
.fa-arrow-up:before {
  content: "\f062";
}
.fa-arrow-down:before {
  content: "\f063";
}
.fa-mail-forward:before,
.fa-share:before {
  content: "\f064";
}
.fa-expand:before {
  content: "\f065";
}
.fa-compress:before {
  content: "\f066";
}
.fa-plus:before {
  content: "\f067";
}
.fa-minus:before {
  content: "\f068";
}
.fa-asterisk:before {
  content: "\f069";
}
.fa-exclamation-circle:before {
  content: "\f06a";
}
.fa-gift:before {
  content: "\f06b";
}
.fa-leaf:before {
  content: "\f06c";
}
.fa-fire:before {
  content: "\f06d";
}
.fa-eye:before {
  content: "\f06e";
}
.fa-eye-slash:before {
  content: "\f070";
}
.fa-warning:before,
.fa-exclamation-triangle:before {
  content: "\f071";
}
.fa-plane:before {
  content: "\f072";
}
.fa-calendar:before {
  content: "\f073";
}
.fa-random:before {
  content: "\f074";
}
.fa-comment:before {
  content: "\f075";
}
.fa-magnet:before {
  content: "\f076";
}
.fa-chevron-up:before {
  content: "\f077";
}
.fa-chevron-down:before {
  content: "\f078";
}
.fa-retweet:before {
  content: "\f079";
}
.fa-shopping-cart:before {
  content: "\f07a";
}
.fa-folder:before {
  content: "\f07b";
}
.fa-folder-open:before {
  content: "\f07c";
}
.fa-arrows-v:before {
  content: "\f07d";
}
.fa-arrows-h:before {
  content: "\f07e";
}
.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: "\f080";
}
.fa-twitter-square:before {
  content: "\f081";
}
.fa-facebook-square:before {
  content: "\f082";
}
.fa-camera-retro:before {
  content: "\f083";
}
.fa-key:before {
  content: "\f084";
}
.fa-gears:before,
.fa-cogs:before {
  content: "\f085";
}
.fa-comments:before {
  content: "\f086";
}
.fa-thumbs-o-up:before {
  content: "\f087";
}
.fa-thumbs-o-down:before {
  content: "\f088";
}
.fa-star-half:before {
  content: "\f089";
}
.fa-heart-o:before {
  content: "\f08a";
}
.fa-sign-out:before {
  content: "\f08b";
}
.fa-linkedin-square:before {
  content: "\f08c";
}
.fa-thumb-tack:before {
  content: "\f08d";
}
.fa-external-link:before {
  content: "\f08e";
}
.fa-sign-in:before {
  content: "\f090";
}
.fa-trophy:before {
  content: "\f091";
}
.fa-github-square:before {
  content: "\f092";
}
.fa-upload:before {
  content: "\f093";
}
.fa-lemon-o:before {
  content: "\f094";
}
.fa-phone:before {
  content: "\f095";
}
.fa-square-o:before {
  content: "\f096";
}
.fa-bookmark-o:before {
  content: "\f097";
}
.fa-phone-square:before {
  content: "\f098";
}
.fa-twitter:before {
  content: "\f099";
}
.fa-facebook:before {
  content: "\f09a";
}
.fa-github:before {
  content: "\f09b";
}
.fa-unlock:before {
  content: "\f09c";
}
.fa-credit-card:before {
  content: "\f09d";
}
.fa-rss:before {
  content: "\f09e";
}
.fa-hdd-o:before {
  content: "\f0a0";
}
.fa-bullhorn:before {
  content: "\f0a1";
}
.fa-bell:before {
  content: "\f0f3";
}
.fa-certificate:before {
  content: "\f0a3";
}
.fa-hand-o-right:before {
  content: "\f0a4";
}
.fa-hand-o-left:before {
  content: "\f0a5";
}
.fa-hand-o-up:before {
  content: "\f0a6";
}
.fa-hand-o-down:before {
  content: "\f0a7";
}
.fa-arrow-circle-left:before {
  content: "\f0a8";
}
.fa-arrow-circle-right:before {
  content: "\f0a9";
}
.fa-arrow-circle-up:before {
  content: "\f0aa";
}
.fa-arrow-circle-down:before {
  content: "\f0ab";
}
.fa-globe:before {
  content: "\f0ac";
}
.fa-wrench:before {
  content: "\f0ad";
}
.fa-tasks:before {
  content: "\f0ae";
}
.fa-filter:before {
  content: "\f0b0";
}
.fa-briefcase:before {
  content: "\f0b1";
}
.fa-arrows-alt:before {
  content: "\f0b2";
}
.fa-group:before,
.fa-users:before {
  content: "\f0c0";
}
.fa-chain:before,
.fa-link:before {
  content: "\f0c1";
}
.fa-cloud:before {
  content: "\f0c2";
}
.fa-flask:before {
  content: "\f0c3";
}
.fa-cut:before,
.fa-scissors:before {
  content: "\f0c4";
}
.fa-copy:before,
.fa-files-o:before {
  content: "\f0c5";
}
.fa-paperclip:before {
  content: "\f0c6";
}
.fa-save:before,
.fa-floppy-o:before {
  content: "\f0c7";
}
.fa-square:before {
  content: "\f0c8";
}
.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: "\f0c9";
}
.fa-list-ul:before {
  content: "\f0ca";
}
.fa-list-ol:before {
  content: "\f0cb";
}
.fa-strikethrough:before {
  content: "\f0cc";
}
.fa-underline:before {
  content: "\f0cd";
}
.fa-table:before {
  content: "\f0ce";
}
.fa-magic:before {
  content: "\f0d0";
}
.fa-truck:before {
  content: "\f0d1";
}
.fa-pinterest:before {
  content: "\f0d2";
}
.fa-pinterest-square:before {
  content: "\f0d3";
}
.fa-google-plus-square:before {
  content: "\f0d4";
}
.fa-google-plus:before {
  content: "\f0d5";
}
.fa-money:before {
  content: "\f0d6";
}
.fa-caret-down:before {
  content: "\f0d7";
}
.fa-caret-up:before {
  content: "\f0d8";
}
.fa-caret-left:before {
  content: "\f0d9";
}
.fa-caret-right:before {
  content: "\f0da";
}
.fa-columns:before {
  content: "\f0db";
}
.fa-unsorted:before,
.fa-sort:before {
  content: "\f0dc";
}
.fa-sort-down:before,
.fa-sort-desc:before {
  content: "\f0dd";
}
.fa-sort-up:before,
.fa-sort-asc:before {
  content: "\f0de";
}
.fa-envelope:before {
  content: "\f0e0";
}
.fa-linkedin:before {
  content: "\f0e1";
}
.fa-rotate-left:before,
.fa-undo:before {
  content: "\f0e2";
}
.fa-legal:before,
.fa-gavel:before {
  content: "\f0e3";
}
.fa-dashboard:before,
.fa-tachometer:before {
  content: "\f0e4";
}
.fa-comment-o:before {
  content: "\f0e5";
}
.fa-comments-o:before {
  content: "\f0e6";
}
.fa-flash:before,
.fa-bolt:before {
  content: "\f0e7";
}
.fa-sitemap:before {
  content: "\f0e8";
}
.fa-umbrella:before {
  content: "\f0e9";
}
.fa-paste:before,
.fa-clipboard:before {
  content: "\f0ea";
}
.fa-lightbulb-o:before {
  content: "\f0eb";
}
.fa-exchange:before {
  content: "\f0ec";
}
.fa-cloud-download:before {
  content: "\f0ed";
}
.fa-cloud-upload:before {
  content: "\f0ee";
}
.fa-user-md:before {
  content: "\f0f0";
}
.fa-stethoscope:before {
  content: "\f0f1";
}
.fa-suitcase:before {
  content: "\f0f2";
}
.fa-bell-o:before {
  content: "\f0a2";
}
.fa-coffee:before {
  content: "\f0f4";
}
.fa-cutlery:before {
  content: "\f0f5";
}
.fa-file-text-o:before {
  content: "\f0f6";
}
.fa-building-o:before {
  content: "\f0f7";
}
.fa-hospital-o:before {
  content: "\f0f8";
}
.fa-ambulance:before {
  content: "\f0f9";
}
.fa-medkit:before {
  content: "\f0fa";
}
.fa-fighter-jet:before {
  content: "\f0fb";
}
.fa-beer:before {
  content: "\f0fc";
}
.fa-h-square:before {
  content: "\f0fd";
}
.fa-plus-square:before {
  content: "\f0fe";
}
.fa-angle-double-left:before {
  content: "\f100";
}
.fa-angle-double-right:before {
  content: "\f101";
}
.fa-angle-double-up:before {
  content: "\f102";
}
.fa-angle-double-down:before {
  content: "\f103";
}
.fa-angle-left:before {
  content: "\f104";
}
.fa-angle-right:before {
  content: "\f105";
}
.fa-angle-up:before {
  content: "\f106";
}
.fa-angle-down:before {
  content: "\f107";
}
.fa-desktop:before {
  content: "\f108";
}
.fa-laptop:before {
  content: "\f109";
}
.fa-tablet:before {
  content: "\f10a";
}
.fa-mobile-phone:before,
.fa-mobile:before {
  content: "\f10b";
}
.fa-circle-o:before {
  content: "\f10c";
}
.fa-quote-left:before {
  content: "\f10d";
}
.fa-quote-right:before {
  content: "\f10e";
}
.fa-spinner:before {
  content: "\f110";
}
.fa-circle:before {
  content: "\f111";
}
.fa-mail-reply:before,
.fa-reply:before {
  content: "\f112";
}
.fa-github-alt:before {
  content: "\f113";
}
.fa-folder-o:before {
  content: "\f114";
}
.fa-folder-open-o:before {
  content: "\f115";
}
.fa-smile-o:before {
  content: "\f118";
}
.fa-frown-o:before {
  content: "\f119";
}
.fa-meh-o:before {
  content: "\f11a";
}
.fa-gamepad:before {
  content: "\f11b";
}
.fa-keyboard-o:before {
  content: "\f11c";
}
.fa-flag-o:before {
  content: "\f11d";
}
.fa-flag-checkered:before {
  content: "\f11e";
}
.fa-terminal:before {
  content: "\f120";
}
.fa-code:before {
  content: "\f121";
}
.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: "\f122";
}
.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: "\f123";
}
.fa-location-arrow:before {
  content: "\f124";
}
.fa-crop:before {
  content: "\f125";
}
.fa-code-fork:before {
  content: "\f126";
}
.fa-unlink:before,
.fa-chain-broken:before {
  content: "\f127";
}
.fa-question:before {
  content: "\f128";
}
.fa-info:before {
  content: "\f129";
}
.fa-exclamation:before {
  content: "\f12a";
}
.fa-superscript:before {
  content: "\f12b";
}
.fa-subscript:before {
  content: "\f12c";
}
.fa-eraser:before {
  content: "\f12d";
}
.fa-puzzle-piece:before {
  content: "\f12e";
}
.fa-microphone:before {
  content: "\f130";
}
.fa-microphone-slash:before {
  content: "\f131";
}
.fa-shield:before {
  content: "\f132";
}
.fa-calendar-o:before {
  content: "\f133";
}
.fa-fire-extinguisher:before {
  content: "\f134";
}
.fa-rocket:before {
  content: "\f135";
}
.fa-maxcdn:before {
  content: "\f136";
}
.fa-chevron-circle-left:before {
  content: "\f137";
}
.fa-chevron-circle-right:before {
  content: "\f138";
}
.fa-chevron-circle-up:before {
  content: "\f139";
}
.fa-chevron-circle-down:before {
  content: "\f13a";
}
.fa-html5:before {
  content: "\f13b";
}
.fa-css3:before {
  content: "\f13c";
}
.fa-anchor:before {
  content: "\f13d";
}
.fa-unlock-alt:before {
  content: "\f13e";
}
.fa-bullseye:before {
  content: "\f140";
}
.fa-ellipsis-h:before {
  content: "\f141";
}
.fa-ellipsis-v:before {
  content: "\f142";
}
.fa-rss-square:before {
  content: "\f143";
}
.fa-play-circle:before {
  content: "\f144";
}
.fa-ticket:before {
  content: "\f145";
}
.fa-minus-square:before {
  content: "\f146";
}
.fa-minus-square-o:before {
  content: "\f147";
}
.fa-level-up:before {
  content: "\f148";
}
.fa-level-down:before {
  content: "\f149";
}
.fa-check-square:before {
  content: "\f14a";
}
.fa-pencil-square:before {
  content: "\f14b";
}
.fa-external-link-square:before {
  content: "\f14c";
}
.fa-share-square:before {
  content: "\f14d";
}
.fa-compass:before {
  content: "\f14e";
}
.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: "\f150";
}
.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: "\f151";
}
.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: "\f152";
}
.fa-euro:before,
.fa-eur:before {
  content: "\f153";
}
.fa-gbp:before {
  content: "\f154";
}
.fa-dollar:before,
.fa-usd:before {
  content: "\f155";
}
.fa-rupee:before,
.fa-inr:before {
  content: "\f156";
}
.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: "\f157";
}
.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: "\f158";
}
.fa-won:before,
.fa-krw:before {
  content: "\f159";
}
.fa-bitcoin:before,
.fa-btc:before {
  content: "\f15a";
}
.fa-file:before {
  content: "\f15b";
}
.fa-file-text:before {
  content: "\f15c";
}
.fa-sort-alpha-asc:before {
  content: "\f15d";
}
.fa-sort-alpha-desc:before {
  content: "\f15e";
}
.fa-sort-amount-asc:before {
  content: "\f160";
}
.fa-sort-amount-desc:before {
  content: "\f161";
}
.fa-sort-numeric-asc:before {
  content: "\f162";
}
.fa-sort-numeric-desc:before {
  content: "\f163";
}
.fa-thumbs-up:before {
  content: "\f164";
}
.fa-thumbs-down:before {
  content: "\f165";
}
.fa-youtube-square:before {
  content: "\f166";
}
.fa-youtube:before {
  content: "\f167";
}
.fa-xing:before {
  content: "\f168";
}
.fa-xing-square:before {
  content: "\f169";
}
.fa-youtube-play:before {
  content: "\f16a";
}
.fa-dropbox:before {
  content: "\f16b";
}
.fa-stack-overflow:before {
  content: "\f16c";
}
.fa-instagram:before {
  content: "\f16d";
}
.fa-flickr:before {
  content: "\f16e";
}
.fa-adn:before {
  content: "\f170";
}
.fa-bitbucket:before {
  content: "\f171";
}
.fa-bitbucket-square:before {
  content: "\f172";
}
.fa-tumblr:before {
  content: "\f173";
}
.fa-tumblr-square:before {
  content: "\f174";
}
.fa-long-arrow-down:before {
  content: "\f175";
}
.fa-long-arrow-up:before {
  content: "\f176";
}
.fa-long-arrow-left:before {
  content: "\f177";
}
.fa-long-arrow-right:before {
  content: "\f178";
}
.fa-apple:before {
  content: "\f179";
}
.fa-windows:before {
  content: "\f17a";
}
.fa-android:before {
  content: "\f17b";
}
.fa-linux:before {
  content: "\f17c";
}
.fa-dribbble:before {
  content: "\f17d";
}
.fa-skype:before {
  content: "\f17e";
}
.fa-foursquare:before {
  content: "\f180";
}
.fa-trello:before {
  content: "\f181";
}
.fa-female:before {
  content: "\f182";
}
.fa-male:before {
  content: "\f183";
}
.fa-gittip:before {
  content: "\f184";
}
.fa-sun-o:before {
  content: "\f185";
}
.fa-moon-o:before {
  content: "\f186";
}
.fa-archive:before {
  content: "\f187";
}
.fa-bug:before {
  content: "\f188";
}
.fa-vk:before {
  content: "\f189";
}
.fa-weibo:before {
  content: "\f18a";
}
.fa-renren:before {
  content: "\f18b";
}
.fa-pagelines:before {
  content: "\f18c";
}
.fa-stack-exchange:before {
  content: "\f18d";
}
.fa-arrow-circle-o-right:before {
  content: "\f18e";
}
.fa-arrow-circle-o-left:before {
  content: "\f190";
}
.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: "\f191";
}
.fa-dot-circle-o:before {
  content: "\f192";
}
.fa-wheelchair:before {
  content: "\f193";
}
.fa-vimeo-square:before {
  content: "\f194";
}
.fa-turkish-lira:before,
.fa-try:before {
  content: "\f195";
}
.fa-plus-square-o:before {
  content: "\f196";
}
.fa-space-shuttle:before {
  content: "\f197";
}
.fa-slack:before {
  content: "\f198";
}
.fa-envelope-square:before {
  content: "\f199";
}
.fa-wordpress:before {
  content: "\f19a";
}
.fa-openid:before {
  content: "\f19b";
}
.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: "\f19c";
}
.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: "\f19d";
}
.fa-yahoo:before {
  content: "\f19e";
}
.fa-google:before {
  content: "\f1a0";
}
.fa-reddit:before {
  content: "\f1a1";
}
.fa-reddit-square:before {
  content: "\f1a2";
}
.fa-stumbleupon-circle:before {
  content: "\f1a3";
}
.fa-stumbleupon:before {
  content: "\f1a4";
}
.fa-delicious:before {
  content: "\f1a5";
}
.fa-digg:before {
  content: "\f1a6";
}
.fa-pied-piper:before {
  content: "\f1a7";
}
.fa-pied-piper-alt:before {
  content: "\f1a8";
}
.fa-drupal:before {
  content: "\f1a9";
}
.fa-joomla:before {
  content: "\f1aa";
}
.fa-language:before {
  content: "\f1ab";
}
.fa-fax:before {
  content: "\f1ac";
}
.fa-building:before {
  content: "\f1ad";
}
.fa-child:before {
  content: "\f1ae";
}
.fa-paw:before {
  content: "\f1b0";
}
.fa-spoon:before {
  content: "\f1b1";
}
.fa-cube:before {
  content: "\f1b2";
}
.fa-cubes:before {
  content: "\f1b3";
}
.fa-behance:before {
  content: "\f1b4";
}
.fa-behance-square:before {
  content: "\f1b5";
}
.fa-steam:before {
  content: "\f1b6";
}
.fa-steam-square:before {
  content: "\f1b7";
}
.fa-recycle:before {
  content: "\f1b8";
}
.fa-automobile:before,
.fa-car:before {
  content: "\f1b9";
}
.fa-cab:before,
.fa-taxi:before {
  content: "\f1ba";
}
.fa-tree:before {
  content: "\f1bb";
}
.fa-spotify:before {
  content: "\f1bc";
}
.fa-deviantart:before {
  content: "\f1bd";
}
.fa-soundcloud:before {
  content: "\f1be";
}
.fa-database:before {
  content: "\f1c0";
}
.fa-file-pdf-o:before {
  content: "\f1c1";
}
.fa-file-word-o:before {
  content: "\f1c2";
}
.fa-file-excel-o:before {
  content: "\f1c3";
}
.fa-file-powerpoint-o:before {
  content: "\f1c4";
}
.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: "\f1c5";
}
.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: "\f1c6";
}
.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: "\f1c7";
}
.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: "\f1c8";
}
.fa-file-code-o:before {
  content: "\f1c9";
}
.fa-vine:before {
  content: "\f1ca";
}
.fa-codepen:before {
  content: "\f1cb";
}
.fa-jsfiddle:before {
  content: "\f1cc";
}
.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: "\f1cd";
}
.fa-circle-o-notch:before {
  content: "\f1ce";
}
.fa-ra:before,
.fa-rebel:before {
  content: "\f1d0";
}
.fa-ge:before,
.fa-empire:before {
  content: "\f1d1";
}
.fa-git-square:before {
  content: "\f1d2";
}
.fa-git:before {
  content: "\f1d3";
}
.fa-hacker-news:before {
  content: "\f1d4";
}
.fa-tencent-weibo:before {
  content: "\f1d5";
}
.fa-qq:before {
  content: "\f1d6";
}
.fa-wechat:before,
.fa-weixin:before {
  content: "\f1d7";
}
.fa-send:before,
.fa-paper-plane:before {
  content: "\f1d8";
}
.fa-send-o:before,
.fa-paper-plane-o:before {
  content: "\f1d9";
}
.fa-history:before {
  content: "\f1da";
}
.fa-circle-thin:before {
  content: "\f1db";
}
.fa-header:before {
  content: "\f1dc";
}
.fa-paragraph:before {
  content: "\f1dd";
}
.fa-sliders:before {
  content: "\f1de";
}
.fa-share-alt:before {
  content: "\f1e0";
}
.fa-share-alt-square:before {
  content: "\f1e1";
}
.fa-bomb:before {
  content: "\f1e2";
}
.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: "\f1e3";
}
.fa-tty:before {
  content: "\f1e4";
}
.fa-binoculars:before {
  content: "\f1e5";
}
.fa-plug:before {
  content: "\f1e6";
}
.fa-slideshare:before {
  content: "\f1e7";
}
.fa-twitch:before {
  content: "\f1e8";
}
.fa-yelp:before {
  content: "\f1e9";
}
.fa-newspaper-o:before {
  content: "\f1ea";
}
.fa-wifi:before {
  content: "\f1eb";
}
.fa-calculator:before {
  content: "\f1ec";
}
.fa-paypal:before {
  content: "\f1ed";
}
.fa-google-wallet:before {
  content: "\f1ee";
}
.fa-cc-visa:before {
  content: "\f1f0";
}
.fa-cc-mastercard:before {
  content: "\f1f1";
}
.fa-cc-discover:before {
  content: "\f1f2";
}
.fa-cc-amex:before {
  content: "\f1f3";
}
.fa-cc-paypal:before {
  content: "\f1f4";
}
.fa-cc-stripe:before {
  content: "\f1f5";
}
.fa-bell-slash:before {
  content: "\f1f6";
}
.fa-bell-slash-o:before {
  content: "\f1f7";
}
.fa-trash:before {
  content: "\f1f8";
}
.fa-copyright:before {
  content: "\f1f9";
}
.fa-at:before {
  content: "\f1fa";
}
.fa-eyedropper:before {
  content: "\f1fb";
}
.fa-paint-brush:before {
  content: "\f1fc";
}
.fa-birthday-cake:before {
  content: "\f1fd";
}
.fa-area-chart:before {
  content: "\f1fe";
}
.fa-pie-chart:before {
  content: "\f200";
}
.fa-line-chart:before {
  content: "\f201";
}
.fa-lastfm:before {
  content: "\f202";
}
.fa-lastfm-square:before {
  content: "\f203";
}
.fa-toggle-off:before {
  content: "\f204";
}
.fa-toggle-on:before {
  content: "\f205";
}
.fa-bicycle:before {
  content: "\f206";
}
.fa-bus:before {
  content: "\f207";
}
.fa-ioxhost:before {
  content: "\f208";
}
.fa-angellist:before {
  content: "\f209";
}
.fa-cc:before {
  content: "\f20a";
}
.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: "\f20b";
}
.fa-meanpath:before {
  content: "\f20c";
}
/*!
*
* IPython base
*
*/
.modal.fade .modal-dialog {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}
code {
  color: #000;
}
pre {
  font-size: inherit;
  line-height: inherit;
}
label {
  font-weight: normal;
}
/* Make the page background atleast 100% the height of the view port */
/* Make the page itself atleast 70% the height of the view port */
.border-box-sizing {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
.corner-all {
  border-radius: 2px;
}
.no-padding {
  padding: 0px;
}
/* Flexible box model classes */
/* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */
/* This file is a compatability layer.  It allows the usage of flexible box 
model layouts accross multiple browsers, including older browsers.  The newest,
universal implementation of the flexible box model is used when available (see
`Modern browsers` comments below).  Browsers that are known to implement this 
new spec completely include:

    Firefox 28.0+
    Chrome 29.0+
    Internet Explorer 11+ 
    Opera 17.0+

Browsers not listed, including Safari, are supported via the styling under the
`Old browsers` comments below.
*/
.hbox {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
.hbox > * {
  /* Old browsers */
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  /* Modern browsers */
  flex: none;
}
.vbox {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.vbox > * {
  /* Old browsers */
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  /* Modern browsers */
  flex: none;
}
.hbox.reverse,
.vbox.reverse,
.reverse {
  /* Old browsers */
  -webkit-box-direction: reverse;
  -moz-box-direction: reverse;
  box-direction: reverse;
  /* Modern browsers */
  flex-direction: row-reverse;
}
.hbox.box-flex0,
.vbox.box-flex0,
.box-flex0 {
  /* Old browsers */
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  /* Modern browsers */
  flex: none;
  width: auto;
}
.hbox.box-flex1,
.vbox.box-flex1,
.box-flex1 {
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
.hbox.box-flex,
.vbox.box-flex,
.box-flex {
  /* Old browsers */
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
.hbox.box-flex2,
.vbox.box-flex2,
.box-flex2 {
  /* Old browsers */
  -webkit-box-flex: 2;
  -moz-box-flex: 2;
  box-flex: 2;
  /* Modern browsers */
  flex: 2;
}
.box-group1 {
  /*  Deprecated */
  -webkit-box-flex-group: 1;
  -moz-box-flex-group: 1;
  box-flex-group: 1;
}
.box-group2 {
  /* Deprecated */
  -webkit-box-flex-group: 2;
  -moz-box-flex-group: 2;
  box-flex-group: 2;
}
.hbox.start,
.vbox.start,
.start {
  /* Old browsers */
  -webkit-box-pack: start;
  -moz-box-pack: start;
  box-pack: start;
  /* Modern browsers */
  justify-content: flex-start;
}
.hbox.end,
.vbox.end,
.end {
  /* Old browsers */
  -webkit-box-pack: end;
  -moz-box-pack: end;
  box-pack: end;
  /* Modern browsers */
  justify-content: flex-end;
}
.hbox.center,
.vbox.center,
.center {
  /* Old browsers */
  -webkit-box-pack: center;
  -moz-box-pack: center;
  box-pack: center;
  /* Modern browsers */
  justify-content: center;
}
.hbox.baseline,
.vbox.baseline,
.baseline {
  /* Old browsers */
  -webkit-box-pack: baseline;
  -moz-box-pack: baseline;
  box-pack: baseline;
  /* Modern browsers */
  justify-content: baseline;
}
.hbox.stretch,
.vbox.stretch,
.stretch {
  /* Old browsers */
  -webkit-box-pack: stretch;
  -moz-box-pack: stretch;
  box-pack: stretch;
  /* Modern browsers */
  justify-content: stretch;
}
.hbox.align-start,
.vbox.align-start,
.align-start {
  /* Old browsers */
  -webkit-box-align: start;
  -moz-box-align: start;
  box-align: start;
  /* Modern browsers */
  align-items: flex-start;
}
.hbox.align-end,
.vbox.align-end,
.align-end {
  /* Old browsers */
  -webkit-box-align: end;
  -moz-box-align: end;
  box-align: end;
  /* Modern browsers */
  align-items: flex-end;
}
.hbox.align-center,
.vbox.align-center,
.align-center {
  /* Old browsers */
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  /* Modern browsers */
  align-items: center;
}
.hbox.align-baseline,
.vbox.align-baseline,
.align-baseline {
  /* Old browsers */
  -webkit-box-align: baseline;
  -moz-box-align: baseline;
  box-align: baseline;
  /* Modern browsers */
  align-items: baseline;
}
.hbox.align-stretch,
.vbox.align-stretch,
.align-stretch {
  /* Old browsers */
  -webkit-box-align: stretch;
  -moz-box-align: stretch;
  box-align: stretch;
  /* Modern browsers */
  align-items: stretch;
}
div.error {
  margin: 2em;
  text-align: center;
}
div.error > h1 {
  font-size: 500%;
  line-height: normal;
}
div.error > p {
  font-size: 200%;
  line-height: normal;
}
div.traceback-wrapper {
  text-align: left;
  max-width: 800px;
  margin: auto;
}
/**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
body {
  background-color: #fff;
  /* This makes sure that the body covers the entire window and needs to
       be in a different element than the display: box in wrapper below */
  position: absolute;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
  overflow: visible;
}
body > #header {
  /* Initially hidden to prevent FLOUC */
  display: none;
  background-color: #fff;
  /* Display over codemirror */
  position: relative;
  z-index: 100;
}
body > #header #header-container {
  padding-bottom: 5px;
  padding-top: 5px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
body > #header .header-bar {
  width: 100%;
  height: 1px;
  background: #e7e7e7;
  margin-bottom: -1px;
}
@media print {
  body > #header {
    display: none !important;
  }
}
#header-spacer {
  width: 100%;
  visibility: hidden;
}
@media print {
  #header-spacer {
    display: none;
  }
}
#ipython_notebook {
  padding-left: 0px;
  padding-top: 1px;
  padding-bottom: 1px;
}
@media (max-width: 991px) {
  #ipython_notebook {
    margin-left: 10px;
  }
}
[dir="rtl"] #ipython_notebook {
  float: right !important;
}
#noscript {
  width: auto;
  padding-top: 16px;
  padding-bottom: 16px;
  text-align: center;
  font-size: 22px;
  color: red;
  font-weight: bold;
}
#ipython_notebook img {
  height: 28px;
}
#site {
  width: 100%;
  display: none;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  overflow: auto;
}
@media print {
  #site {
    height: auto !important;
  }
}
/* Smaller buttons */
.ui-button .ui-button-text {
  padding: 0.2em 0.8em;
  font-size: 77%;
}
input.ui-button {
  padding: 0.3em 0.9em;
}
span#login_widget {
  float: right;
}
span#login_widget > .button,
#logout {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
span#login_widget > .button:focus,
#logout:focus,
span#login_widget > .button.focus,
#logout.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
span#login_widget > .button:hover,
#logout:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
span#login_widget > .button:active,
#logout:active,
span#login_widget > .button.active,
#logout.active,
.open > .dropdown-togglespan#login_widget > .button,
.open > .dropdown-toggle#logout {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
span#login_widget > .button:active:hover,
#logout:active:hover,
span#login_widget > .button.active:hover,
#logout.active:hover,
.open > .dropdown-togglespan#login_widget > .button:hover,
.open > .dropdown-toggle#logout:hover,
span#login_widget > .button:active:focus,
#logout:active:focus,
span#login_widget > .button.active:focus,
#logout.active:focus,
.open > .dropdown-togglespan#login_widget > .button:focus,
.open > .dropdown-toggle#logout:focus,
span#login_widget > .button:active.focus,
#logout:active.focus,
span#login_widget > .button.active.focus,
#logout.active.focus,
.open > .dropdown-togglespan#login_widget > .button.focus,
.open > .dropdown-toggle#logout.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
span#login_widget > .button:active,
#logout:active,
span#login_widget > .button.active,
#logout.active,
.open > .dropdown-togglespan#login_widget > .button,
.open > .dropdown-toggle#logout {
  background-image: none;
}
span#login_widget > .button.disabled:hover,
#logout.disabled:hover,
span#login_widget > .button[disabled]:hover,
#logout[disabled]:hover,
fieldset[disabled] span#login_widget > .button:hover,
fieldset[disabled] #logout:hover,
span#login_widget > .button.disabled:focus,
#logout.disabled:focus,
span#login_widget > .button[disabled]:focus,
#logout[disabled]:focus,
fieldset[disabled] span#login_widget > .button:focus,
fieldset[disabled] #logout:focus,
span#login_widget > .button.disabled.focus,
#logout.disabled.focus,
span#login_widget > .button[disabled].focus,
#logout[disabled].focus,
fieldset[disabled] span#login_widget > .button.focus,
fieldset[disabled] #logout.focus {
  background-color: #fff;
  border-color: #ccc;
}
span#login_widget > .button .badge,
#logout .badge {
  color: #fff;
  background-color: #333;
}
.nav-header {
  text-transform: none;
}
#header > span {
  margin-top: 10px;
}
.modal_stretch .modal-dialog {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-height: 80vh;
}
.modal_stretch .modal-dialog .modal-body {
  max-height: calc(100vh - 200px);
  overflow: auto;
  flex: 1;
}
@media (min-width: 768px) {
  .modal .modal-dialog {
    width: 700px;
  }
}
@media (min-width: 768px) {
  select.form-control {
    margin-left: 12px;
    margin-right: 12px;
  }
}
/*!
*
* IPython auth
*
*/
.center-nav {
  display: inline-block;
  margin-bottom: -4px;
}
/*!
*
* IPython tree view
*
*/
/* We need an invisible input field on top of the sentense*/
/* "Drag file onto the list ..." */
.alternate_upload {
  background-color: none;
  display: inline;
}
.alternate_upload.form {
  padding: 0;
  margin: 0;
}
.alternate_upload input.fileinput {
  text-align: center;
  vertical-align: middle;
  display: inline;
  opacity: 0;
  z-index: 2;
  width: 12ex;
  margin-right: -12ex;
}
.alternate_upload .btn-upload {
  height: 22px;
}
/**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
[dir="rtl"] #tabs li {
  float: right;
}
ul#tabs {
  margin-bottom: 4px;
}
[dir="rtl"] ul#tabs {
  margin-right: 0px;
}
ul#tabs a {
  padding-top: 6px;
  padding-bottom: 4px;
}
ul.breadcrumb a:focus,
ul.breadcrumb a:hover {
  text-decoration: none;
}
ul.breadcrumb i.icon-home {
  font-size: 16px;
  margin-right: 4px;
}
ul.breadcrumb span {
  color: #5e5e5e;
}
.list_toolbar {
  padding: 4px 0 4px 0;
  vertical-align: middle;
}
.list_toolbar .tree-buttons {
  padding-top: 1px;
}
[dir="rtl"] .list_toolbar .tree-buttons {
  float: left !important;
}
[dir="rtl"] .list_toolbar .pull-right {
  padding-top: 1px;
  float: left !important;
}
[dir="rtl"] .list_toolbar .pull-left {
  float: right !important;
}
.dynamic-buttons {
  padding-top: 3px;
  display: inline-block;
}
.list_toolbar [class*="span"] {
  min-height: 24px;
}
.list_header {
  font-weight: bold;
  background-color: #EEE;
}
.list_placeholder {
  font-weight: bold;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 7px;
  padding-right: 7px;
}
.list_container {
  margin-top: 4px;
  margin-bottom: 20px;
  border: 1px solid #ddd;
  border-radius: 2px;
}
.list_container > div {
  border-bottom: 1px solid #ddd;
}
.list_container > div:hover .list-item {
  background-color: red;
}
.list_container > div:last-child {
  border: none;
}
.list_item:hover .list_item {
  background-color: #ddd;
}
.list_item a {
  text-decoration: none;
}
.list_item:hover {
  background-color: #fafafa;
}
.list_header > div,
.list_item > div {
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 7px;
  padding-right: 7px;
  line-height: 22px;
}
.list_header > div input,
.list_item > div input {
  margin-right: 7px;
  margin-left: 14px;
  vertical-align: baseline;
  line-height: 22px;
  position: relative;
  top: -1px;
}
.list_header > div .item_link,
.list_item > div .item_link {
  margin-left: -1px;
  vertical-align: baseline;
  line-height: 22px;
}
.new-file input[type=checkbox] {
  visibility: hidden;
}
.item_name {
  line-height: 22px;
  height: 24px;
}
.item_icon {
  font-size: 14px;
  color: #5e5e5e;
  margin-right: 7px;
  margin-left: 7px;
  line-height: 22px;
  vertical-align: baseline;
}
.item_buttons {
  line-height: 1em;
  margin-left: -5px;
}
.item_buttons .btn,
.item_buttons .btn-group,
.item_buttons .input-group {
  float: left;
}
.item_buttons > .btn,
.item_buttons > .btn-group,
.item_buttons > .input-group {
  margin-left: 5px;
}
.item_buttons .btn {
  min-width: 13ex;
}
.item_buttons .running-indicator {
  padding-top: 4px;
  color: #5cb85c;
}
.item_buttons .kernel-name {
  padding-top: 4px;
  color: #5bc0de;
  margin-right: 7px;
  float: left;
}
.toolbar_info {
  height: 24px;
  line-height: 24px;
}
.list_item input:not([type=checkbox]) {
  padding-top: 3px;
  padding-bottom: 3px;
  height: 22px;
  line-height: 14px;
  margin: 0px;
}
.highlight_text {
  color: blue;
}
#project_name {
  display: inline-block;
  padding-left: 7px;
  margin-left: -2px;
}
#project_name > .breadcrumb {
  padding: 0px;
  margin-bottom: 0px;
  background-color: transparent;
  font-weight: bold;
}
#tree-selector {
  padding-right: 0px;
}
[dir="rtl"] #tree-selector a {
  float: right;
}
#button-select-all {
  min-width: 50px;
}
#select-all {
  margin-left: 7px;
  margin-right: 2px;
}
.menu_icon {
  margin-right: 2px;
}
.tab-content .row {
  margin-left: 0px;
  margin-right: 0px;
}
.folder_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f114";
}
.folder_icon:before.pull-left {
  margin-right: .3em;
}
.folder_icon:before.pull-right {
  margin-left: .3em;
}
.notebook_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f02d";
  position: relative;
  top: -1px;
}
.notebook_icon:before.pull-left {
  margin-right: .3em;
}
.notebook_icon:before.pull-right {
  margin-left: .3em;
}
.running_notebook_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f02d";
  position: relative;
  top: -1px;
  color: #5cb85c;
}
.running_notebook_icon:before.pull-left {
  margin-right: .3em;
}
.running_notebook_icon:before.pull-right {
  margin-left: .3em;
}
.file_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f016";
  position: relative;
  top: -2px;
}
.file_icon:before.pull-left {
  margin-right: .3em;
}
.file_icon:before.pull-right {
  margin-left: .3em;
}
#notebook_toolbar .pull-right {
  padding-top: 0px;
  margin-right: -1px;
}
ul#new-menu {
  left: auto;
  right: 0;
}
[dir="rtl"] #new-menu {
  text-align: right;
}
.kernel-menu-icon {
  padding-right: 12px;
  width: 24px;
  content: "\f096";
}
.kernel-menu-icon:before {
  content: "\f096";
}
.kernel-menu-icon-current:before {
  content: "\f00c";
}
#tab_content {
  padding-top: 20px;
}
#running .panel-group .panel {
  margin-top: 3px;
  margin-bottom: 1em;
}
#running .panel-group .panel .panel-heading {
  background-color: #EEE;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 7px;
  padding-right: 7px;
  line-height: 22px;
}
#running .panel-group .panel .panel-heading a:focus,
#running .panel-group .panel .panel-heading a:hover {
  text-decoration: none;
}
#running .panel-group .panel .panel-body {
  padding: 0px;
}
#running .panel-group .panel .panel-body .list_container {
  margin-top: 0px;
  margin-bottom: 0px;
  border: 0px;
  border-radius: 0px;
}
#running .panel-group .panel .panel-body .list_container .list_item {
  border-bottom: 1px solid #ddd;
}
#running .panel-group .panel .panel-body .list_container .list_item:last-child {
  border-bottom: 0px;
}
[dir="rtl"] #running .col-sm-8 {
  float: right !important;
}
.delete-button {
  display: none;
}
.duplicate-button {
  display: none;
}
.rename-button {
  display: none;
}
.shutdown-button {
  display: none;
}
.dynamic-instructions {
  display: inline-block;
  padding-top: 4px;
}
/*!
*
* IPython text editor webapp
*
*/
.selected-keymap i.fa {
  padding: 0px 5px;
}
.selected-keymap i.fa:before {
  content: "\f00c";
}
#mode-menu {
  overflow: auto;
  max-height: 20em;
}
.edit_app #header {
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
.edit_app #menubar .navbar {
  /* Use a negative 1 bottom margin, so the border overlaps the border of the
    header */
  margin-bottom: -1px;
}
.dirty-indicator {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 20px;
}
.dirty-indicator.pull-left {
  margin-right: .3em;
}
.dirty-indicator.pull-right {
  margin-left: .3em;
}
.dirty-indicator-dirty {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 20px;
}
.dirty-indicator-dirty.pull-left {
  margin-right: .3em;
}
.dirty-indicator-dirty.pull-right {
  margin-left: .3em;
}
.dirty-indicator-clean {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 20px;
}
.dirty-indicator-clean.pull-left {
  margin-right: .3em;
}
.dirty-indicator-clean.pull-right {
  margin-left: .3em;
}
.dirty-indicator-clean:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f00c";
}
.dirty-indicator-clean:before.pull-left {
  margin-right: .3em;
}
.dirty-indicator-clean:before.pull-right {
  margin-left: .3em;
}
#filename {
  font-size: 16pt;
  display: table;
  padding: 0px 5px;
}
#current-mode {
  padding-left: 5px;
  padding-right: 5px;
}
#texteditor-backdrop {
  padding-top: 20px;
  padding-bottom: 20px;
}
@media not print {
  #texteditor-backdrop {
    background-color: #EEE;
  }
}
@media print {
  #texteditor-backdrop #texteditor-container .CodeMirror-gutter,
  #texteditor-backdrop #texteditor-container .CodeMirror-gutters {
    background-color: #fff;
  }
}
@media not print {
  #texteditor-backdrop #texteditor-container .CodeMirror-gutter,
  #texteditor-backdrop #texteditor-container .CodeMirror-gutters {
    background-color: #fff;
  }
}
@media not print {
  #texteditor-backdrop #texteditor-container {
    padding: 0px;
    background-color: #fff;
    -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
    box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  }
}
/*!
*
* IPython notebook
*
*/
/* CSS font colors for translated ANSI colors. */
.ansibold {
  font-weight: bold;
}
/* use dark versions for foreground, to improve visibility */
.ansiblack {
  color: black;
}
.ansired {
  color: darkred;
}
.ansigreen {
  color: darkgreen;
}
.ansiyellow {
  color: #c4a000;
}
.ansiblue {
  color: darkblue;
}
.ansipurple {
  color: darkviolet;
}
.ansicyan {
  color: steelblue;
}
.ansigray {
  color: gray;
}
/* and light for background, for the same reason */
.ansibgblack {
  background-color: black;
}
.ansibgred {
  background-color: red;
}
.ansibggreen {
  background-color: green;
}
.ansibgyellow {
  background-color: yellow;
}
.ansibgblue {
  background-color: blue;
}
.ansibgpurple {
  background-color: magenta;
}
.ansibgcyan {
  background-color: cyan;
}
.ansibggray {
  background-color: gray;
}
div.cell {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  border-radius: 2px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
  width: 100%;
  padding: 5px;
  /* This acts as a spacer between cells, that is outside the border */
  margin: 0px;
  outline: none;
  border-left-width: 1px;
  padding-left: 5px;
  background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%);
}
div.cell.jupyter-soft-selected {
  border-left-color: #90CAF9;
  border-left-color: #E3F2FD;
  border-left-width: 1px;
  padding-left: 5px;
  border-right-color: #E3F2FD;
  border-right-width: 1px;
  background: #E3F2FD;
}
@media print {
  div.cell.jupyter-soft-selected {
    border-color: transparent;
  }
}
div.cell.selected {
  border-color: #ababab;
  border-left-width: 0px;
  padding-left: 6px;
  background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%);
}
@media print {
  div.cell.selected {
    border-color: transparent;
  }
}
div.cell.selected.jupyter-soft-selected {
  border-left-width: 0;
  padding-left: 6px;
  background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%);
}
.edit_mode div.cell.selected {
  border-color: #66BB6A;
  border-left-width: 0px;
  padding-left: 6px;
  background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%);
}
@media print {
  .edit_mode div.cell.selected {
    border-color: transparent;
  }
}
.prompt {
  /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */
  min-width: 14ex;
  /* This padding is tuned to match the padding on the CodeMirror editor. */
  padding: 0.4em;
  margin: 0px;
  font-family: monospace;
  text-align: right;
  /* This has to match that of the the CodeMirror class line-height below */
  line-height: 1.21429em;
  /* Don't highlight prompt number selection */
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /* Use default cursor */
  cursor: default;
}
@media (max-width: 540px) {
  .prompt {
    text-align: left;
  }
}
div.inner_cell {
  min-width: 0;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_area {
  border: 1px solid #cfcfcf;
  border-radius: 2px;
  background: #f7f7f7;
  line-height: 1.21429em;
}
/* This is needed so that empty prompt areas can collapse to zero height when there
   is no content in the output_subarea and the prompt. The main purpose of this is
   to make sure that empty JavaScript output_subareas have no height. */
div.prompt:empty {
  padding-top: 0;
  padding-bottom: 0;
}
div.unrecognized_cell {
  padding: 5px 5px 5px 0px;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
div.unrecognized_cell .inner_cell {
  border-radius: 2px;
  padding: 5px;
  font-weight: bold;
  color: red;
  border: 1px solid #cfcfcf;
  background: #eaeaea;
}
div.unrecognized_cell .inner_cell a {
  color: inherit;
  text-decoration: none;
}
div.unrecognized_cell .inner_cell a:hover {
  color: inherit;
  text-decoration: none;
}
@media (max-width: 540px) {
  div.unrecognized_cell > div.prompt {
    display: none;
  }
}
div.code_cell {
  /* avoid page breaking on code cells when printing */
}
@media print {
  div.code_cell {
    page-break-inside: avoid;
  }
}
/* any special styling for code cells that are currently running goes here */
div.input {
  page-break-inside: avoid;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
@media (max-width: 540px) {
  div.input {
    /* Old browsers */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-box-align: stretch;
    display: -moz-box;
    -moz-box-orient: vertical;
    -moz-box-align: stretch;
    display: box;
    box-orient: vertical;
    box-align: stretch;
    /* Modern browsers */
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_prompt {
  color: #303F9F;
  border-top: 1px solid transparent;
}
div.input_area > div.highlight {
  margin: 0.4em;
  border: none;
  padding: 0px;
  background-color: transparent;
}
div.input_area > div.highlight > pre {
  margin: 0px;
  border: none;
  padding: 0px;
  background-color: transparent;
}
/* The following gets added to the <head> if it is detected that the user has a
 * monospace font with inconsistent normal/bold/italic height.  See
 * notebookmain.js.  Such fonts will have keywords vertically offset with
 * respect to the rest of the text.  The user should select a better font.
 * See: https://github.com/ipython/ipython/issues/1503
 *
 * .CodeMirror span {
 *      vertical-align: bottom;
 * }
 */
.CodeMirror {
  line-height: 1.21429em;
  /* Changed from 1em to our global default */
  font-size: 14px;
  height: auto;
  /* Changed to auto to autogrow */
  background: none;
  /* Changed from white to allow our bg to show through */
}
.CodeMirror-scroll {
  /*  The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/
  /*  We have found that if it is visible, vertical scrollbars appear with font size changes.*/
  overflow-y: hidden;
  overflow-x: auto;
}
.CodeMirror-lines {
  /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */
  /* we have set a different line-height and want this to scale with that. */
  padding: 0.4em;
}
.CodeMirror-linenumber {
  padding: 0 8px 0 4px;
}
.CodeMirror-gutters {
  border-bottom-left-radius: 2px;
  border-top-left-radius: 2px;
}
.CodeMirror pre {
  /* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */
  /* .CodeMirror-lines */
  padding: 0;
  border: 0;
  border-radius: 0;
}
/*

Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org>
Adapted from GitHub theme

*/
.highlight-base {
  color: #000;
}
.highlight-variable {
  color: #000;
}
.highlight-variable-2 {
  color: #1a1a1a;
}
.highlight-variable-3 {
  color: #333333;
}
.highlight-string {
  color: #BA2121;
}
.highlight-comment {
  color: #408080;
  font-style: italic;
}
.highlight-number {
  color: #080;
}
.highlight-atom {
  color: #88F;
}
.highlight-keyword {
  color: #008000;
  font-weight: bold;
}
.highlight-builtin {
  color: #008000;
}
.highlight-error {
  color: #f00;
}
.highlight-operator {
  color: #AA22FF;
  font-weight: bold;
}
.highlight-meta {
  color: #AA22FF;
}
/* previously not defined, copying from default codemirror */
.highlight-def {
  color: #00f;
}
.highlight-string-2 {
  color: #f50;
}
.highlight-qualifier {
  color: #555;
}
.highlight-bracket {
  color: #997;
}
.highlight-tag {
  color: #170;
}
.highlight-attribute {
  color: #00c;
}
.highlight-header {
  color: blue;
}
.highlight-quote {
  color: #090;
}
.highlight-link {
  color: #00c;
}
/* apply the same style to codemirror */
.cm-s-ipython span.cm-keyword {
  color: #008000;
  font-weight: bold;
}
.cm-s-ipython span.cm-atom {
  color: #88F;
}
.cm-s-ipython span.cm-number {
  color: #080;
}
.cm-s-ipython span.cm-def {
  color: #00f;
}
.cm-s-ipython span.cm-variable {
  color: #000;
}
.cm-s-ipython span.cm-operator {
  color: #AA22FF;
  font-weight: bold;
}
.cm-s-ipython span.cm-variable-2 {
  color: #1a1a1a;
}
.cm-s-ipython span.cm-variable-3 {
  color: #333333;
}
.cm-s-ipython span.cm-comment {
  color: #408080;
  font-style: italic;
}
.cm-s-ipython span.cm-string {
  color: #BA2121;
}
.cm-s-ipython span.cm-string-2 {
  color: #f50;
}
.cm-s-ipython span.cm-meta {
  color: #AA22FF;
}
.cm-s-ipython span.cm-qualifier {
  color: #555;
}
.cm-s-ipython span.cm-builtin {
  color: #008000;
}
.cm-s-ipython span.cm-bracket {
  color: #997;
}
.cm-s-ipython span.cm-tag {
  color: #170;
}
.cm-s-ipython span.cm-attribute {
  color: #00c;
}
.cm-s-ipython span.cm-header {
  color: blue;
}
.cm-s-ipython span.cm-quote {
  color: #090;
}
.cm-s-ipython span.cm-link {
  color: #00c;
}
.cm-s-ipython span.cm-error {
  color: #f00;
}
.cm-s-ipython span.cm-tab {
  background: url();
  background-position: right;
  background-repeat: no-repeat;
}
div.output_wrapper {
  /* this position must be relative to enable descendents to be absolute within it */
  position: relative;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  z-index: 1;
}
/* class for the output area when it should be height-limited */
div.output_scroll {
  /* ideally, this would be max-height, but FF barfs all over that */
  height: 24em;
  /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */
  width: 100%;
  overflow: auto;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
  display: block;
}
/* output div while it is collapsed */
div.output_collapsed {
  margin: 0px;
  padding: 0px;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
div.out_prompt_overlay {
  height: 100%;
  padding: 0px 0.4em;
  position: absolute;
  border-radius: 2px;
}
div.out_prompt_overlay:hover {
  /* use inner shadow to get border that is computed the same on WebKit/FF */
  -webkit-box-shadow: inset 0 0 1px #000;
  box-shadow: inset 0 0 1px #000;
  background: rgba(240, 240, 240, 0.5);
}
div.output_prompt {
  color: #D84315;
}
/* This class is the outer container of all output sections. */
div.output_area {
  padding: 0px;
  page-break-inside: avoid;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
div.output_area .MathJax_Display {
  text-align: left !important;
}
div.output_area .rendered_html table {
  margin-left: 0;
  margin-right: 0;
}
div.output_area .rendered_html img {
  margin-left: 0;
  margin-right: 0;
}
div.output_area img,
div.output_area svg {
  max-width: 100%;
  height: auto;
}
div.output_area img.unconfined,
div.output_area svg.unconfined {
  max-width: none;
}
/* This is needed to protect the pre formating from global settings such
   as that of bootstrap */
.output {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
@media (max-width: 540px) {
  div.output_area {
    /* Old browsers */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-box-align: stretch;
    display: -moz-box;
    -moz-box-orient: vertical;
    -moz-box-align: stretch;
    display: box;
    box-orient: vertical;
    box-align: stretch;
    /* Modern browsers */
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
}
div.output_area pre {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  color: black;
  background-color: transparent;
  border-radius: 0;
}
/* This class is for the output subarea inside the output_area and after
   the prompt div. */
div.output_subarea {
  overflow-x: auto;
  padding: 0.4em;
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
  max-width: calc(100% - 14ex);
}
div.output_scroll div.output_subarea {
  overflow-x: visible;
}
/* The rest of the output_* classes are for special styling of the different
   output types */
/* all text output has this class: */
div.output_text {
  text-align: left;
  color: #000;
  /* This has to match that of the the CodeMirror class line-height below */
  line-height: 1.21429em;
}
/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */
div.output_stderr {
  background: #fdd;
  /* very light red background for stderr */
}
div.output_latex {
  text-align: left;
}
/* Empty output_javascript divs should have no height */
div.output_javascript:empty {
  padding: 0;
}
.js-error {
  color: darkred;
}
/* raw_input styles */
div.raw_input_container {
  line-height: 1.21429em;
  padding-top: 5px;
}
pre.raw_input_prompt {
  /* nothing needed here. */
}
input.raw_input {
  font-family: monospace;
  font-size: inherit;
  color: inherit;
  width: auto;
  /* make sure input baseline aligns with prompt */
  vertical-align: baseline;
  /* padding + margin = 0.5em between prompt and cursor */
  padding: 0em 0.25em;
  margin: 0em 0.25em;
}
input.raw_input:focus {
  box-shadow: none;
}
p.p-space {
  margin-bottom: 10px;
}
div.output_unrecognized {
  padding: 5px;
  font-weight: bold;
  color: red;
}
div.output_unrecognized a {
  color: inherit;
  text-decoration: none;
}
div.output_unrecognized a:hover {
  color: inherit;
  text-decoration: none;
}
.rendered_html {
  color: #000;
  /* any extras will just be numbers: */
}
.rendered_html em {
  font-style: italic;
}
.rendered_html strong {
  font-weight: bold;
}
.rendered_html u {
  text-decoration: underline;
}
.rendered_html :link {
  text-decoration: underline;
}
.rendered_html :visited {
  text-decoration: underline;
}
.rendered_html h1 {
  font-size: 185.7%;
  margin: 1.08em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h2 {
  font-size: 157.1%;
  margin: 1.27em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h3 {
  font-size: 128.6%;
  margin: 1.55em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h4 {
  font-size: 100%;
  margin: 2em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h5 {
  font-size: 100%;
  margin: 2em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
  font-style: italic;
}
.rendered_html h6 {
  font-size: 100%;
  margin: 2em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
  font-style: italic;
}
.rendered_html h1:first-child {
  margin-top: 0.538em;
}
.rendered_html h2:first-child {
  margin-top: 0.636em;
}
.rendered_html h3:first-child {
  margin-top: 0.777em;
}
.rendered_html h4:first-child {
  margin-top: 1em;
}
.rendered_html h5:first-child {
  margin-top: 1em;
}
.rendered_html h6:first-child {
  margin-top: 1em;
}
.rendered_html ul {
  list-style: disc;
  margin: 0em 2em;
  padding-left: 0px;
}
.rendered_html ul ul {
  list-style: square;
  margin: 0em 2em;
}
.rendered_html ul ul ul {
  list-style: circle;
  margin: 0em 2em;
}
.rendered_html ol {
  list-style: decimal;
  margin: 0em 2em;
  padding-left: 0px;
}
.rendered_html ol ol {
  list-style: upper-alpha;
  margin: 0em 2em;
}
.rendered_html ol ol ol {
  list-style: lower-alpha;
  margin: 0em 2em;
}
.rendered_html ol ol ol ol {
  list-style: lower-roman;
  margin: 0em 2em;
}
.rendered_html ol ol ol ol ol {
  list-style: decimal;
  margin: 0em 2em;
}
.rendered_html * + ul {
  margin-top: 1em;
}
.rendered_html * + ol {
  margin-top: 1em;
}
.rendered_html hr {
  color: black;
  background-color: black;
}
.rendered_html pre {
  margin: 1em 2em;
}
.rendered_html pre,
.rendered_html code {
  border: 0;
  background-color: #fff;
  color: #000;
  font-size: 100%;
  padding: 0px;
}
.rendered_html blockquote {
  margin: 1em 2em;
}
.rendered_html table {
  margin-left: auto;
  margin-right: auto;
  border: 1px solid black;
  border-collapse: collapse;
}
.rendered_html tr,
.rendered_html th,
.rendered_html td {
  border: 1px solid black;
  border-collapse: collapse;
  margin: 1em 2em;
}
.rendered_html td,
.rendered_html th {
  text-align: left;
  vertical-align: middle;
  padding: 4px;
}
.rendered_html th {
  font-weight: bold;
}
.rendered_html * + table {
  margin-top: 1em;
}
.rendered_html p {
  text-align: left;
}
.rendered_html * + p {
  margin-top: 1em;
}
.rendered_html img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.rendered_html * + img {
  margin-top: 1em;
}
.rendered_html img,
.rendered_html svg {
  max-width: 100%;
  height: auto;
}
.rendered_html img.unconfined,
.rendered_html svg.unconfined {
  max-width: none;
}
div.text_cell {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
@media (max-width: 540px) {
  div.text_cell > div.prompt {
    display: none;
  }
}
div.text_cell_render {
  /*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/
  outline: none;
  resize: none;
  width: inherit;
  border-style: none;
  padding: 0.5em 0.5em 0.5em 0.4em;
  color: #000;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
a.anchor-link:link {
  text-decoration: none;
  padding: 0px 20px;
  visibility: hidden;
}
h1:hover .anchor-link,
h2:hover .anchor-link,
h3:hover .anchor-link,
h4:hover .anchor-link,
h5:hover .anchor-link,
h6:hover .anchor-link {
  visibility: visible;
}
.text_cell.rendered .input_area {
  display: none;
}
.text_cell.rendered .rendered_html {
  overflow-x: auto;
  overflow-y: hidden;
}
.text_cell.unrendered .text_cell_render {
  display: none;
}
.cm-header-1,
.cm-header-2,
.cm-header-3,
.cm-header-4,
.cm-header-5,
.cm-header-6 {
  font-weight: bold;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.cm-header-1 {
  font-size: 185.7%;
}
.cm-header-2 {
  font-size: 157.1%;
}
.cm-header-3 {
  font-size: 128.6%;
}
.cm-header-4 {
  font-size: 110%;
}
.cm-header-5 {
  font-size: 100%;
  font-style: italic;
}
.cm-header-6 {
  font-size: 100%;
  font-style: italic;
}
/*!
*
* IPython notebook webapp
*
*/
@media (max-width: 767px) {
  .notebook_app {
    padding-left: 0px;
    padding-right: 0px;
  }
}
#ipython-main-app {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  height: 100%;
}
div#notebook_panel {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  height: 100%;
}
div#notebook {
  font-size: 14px;
  line-height: 20px;
  overflow-y: hidden;
  overflow-x: auto;
  width: 100%;
  /* This spaces the page away from the edge of the notebook area */
  padding-top: 20px;
  margin: 0px;
  outline: none;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  min-height: 100%;
}
@media not print {
  #notebook-container {
    padding: 15px;
    background-color: #fff;
    min-height: 0;
    -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
    box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  }
}
@media print {
  #notebook-container {
    width: 100%;
  }
}
div.ui-widget-content {
  border: 1px solid #ababab;
  outline: none;
}
pre.dialog {
  background-color: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 2px;
  padding: 0.4em;
  padding-left: 2em;
}
p.dialog {
  padding: 0.2em;
}
/* Word-wrap output correctly.  This is the CSS3 spelling, though Firefox seems
   to not honor it correctly.  Webkit browsers (Chrome, rekonq, Safari) do.
 */
pre,
code,
kbd,
samp {
  white-space: pre-wrap;
}
#fonttest {
  font-family: monospace;
}
p {
  margin-bottom: 0;
}
.end_space {
  min-height: 100px;
  transition: height .2s ease;
}
.notebook_app > #header {
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
@media not print {
  .notebook_app {
    background-color: #EEE;
  }
}
kbd {
  border-style: solid;
  border-width: 1px;
  box-shadow: none;
  margin: 2px;
  padding-left: 2px;
  padding-right: 2px;
  padding-top: 1px;
  padding-bottom: 1px;
}
/* CSS for the cell toolbar */
.celltoolbar {
  border: thin solid #CFCFCF;
  border-bottom: none;
  background: #EEE;
  border-radius: 2px 2px 0px 0px;
  width: 100%;
  height: 29px;
  padding-right: 4px;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
  /* Old browsers */
  -webkit-box-pack: end;
  -moz-box-pack: end;
  box-pack: end;
  /* Modern browsers */
  justify-content: flex-end;
  display: -webkit-flex;
}
@media print {
  .celltoolbar {
    display: none;
  }
}
.ctb_hideshow {
  display: none;
  vertical-align: bottom;
}
/* ctb_show is added to the ctb_hideshow div to show the cell toolbar.
   Cell toolbars are only shown when the ctb_global_show class is also set.
*/
.ctb_global_show .ctb_show.ctb_hideshow {
  display: block;
}
.ctb_global_show .ctb_show + .input_area,
.ctb_global_show .ctb_show + div.text_cell_input,
.ctb_global_show .ctb_show ~ div.text_cell_render {
  border-top-right-radius: 0px;
  border-top-left-radius: 0px;
}
.ctb_global_show .ctb_show ~ div.text_cell_render {
  border: 1px solid #cfcfcf;
}
.celltoolbar {
  font-size: 87%;
  padding-top: 3px;
}
.celltoolbar select {
  display: block;
  width: 100%;
  height: 32px;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
  width: inherit;
  font-size: inherit;
  height: 22px;
  padding: 0px;
  display: inline-block;
}
.celltoolbar select:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.celltoolbar select::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.celltoolbar select:-ms-input-placeholder {
  color: #999;
}
.celltoolbar select::-webkit-input-placeholder {
  color: #999;
}
.celltoolbar select::-ms-expand {
  border: 0;
  background-color: transparent;
}
.celltoolbar select[disabled],
.celltoolbar select[readonly],
fieldset[disabled] .celltoolbar select {
  background-color: #eeeeee;
  opacity: 1;
}
.celltoolbar select[disabled],
fieldset[disabled] .celltoolbar select {
  cursor: not-allowed;
}
textarea.celltoolbar select {
  height: auto;
}
select.celltoolbar select {
  height: 30px;
  line-height: 30px;
}
textarea.celltoolbar select,
select[multiple].celltoolbar select {
  height: auto;
}
.celltoolbar label {
  margin-left: 5px;
  margin-right: 5px;
}
.completions {
  position: absolute;
  z-index: 110;
  overflow: hidden;
  border: 1px solid #ababab;
  border-radius: 2px;
  -webkit-box-shadow: 0px 6px 10px -1px #adadad;
  box-shadow: 0px 6px 10px -1px #adadad;
  line-height: 1;
}
.completions select {
  background: white;
  outline: none;
  border: none;
  padding: 0px;
  margin: 0px;
  overflow: auto;
  font-family: monospace;
  font-size: 110%;
  color: #000;
  width: auto;
}
.completions select option.context {
  color: #286090;
}
#kernel_logo_widget {
  float: right !important;
  float: right;
}
#kernel_logo_widget .current_kernel_logo {
  display: none;
  margin-top: -1px;
  margin-bottom: -1px;
  width: 32px;
  height: 32px;
}
#menubar {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  margin-top: 1px;
}
#menubar .navbar {
  border-top: 1px;
  border-radius: 0px 0px 2px 2px;
  margin-bottom: 0px;
}
#menubar .navbar-toggle {
  float: left;
  padding-top: 7px;
  padding-bottom: 7px;
  border: none;
}
#menubar .navbar-collapse {
  clear: left;
}
.nav-wrapper {
  border-bottom: 1px solid #e7e7e7;
}
i.menu-icon {
  padding-top: 4px;
}
ul#help_menu li a {
  overflow: hidden;
  padding-right: 2.2em;
}
ul#help_menu li a i {
  margin-right: -1.2em;
}
.dropdown-submenu {
  position: relative;
}
.dropdown-submenu > .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -6px;
  margin-left: -1px;
}
.dropdown-submenu:hover > .dropdown-menu {
  display: block;
}
.dropdown-submenu > a:after {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: block;
  content: "\f0da";
  float: right;
  color: #333333;
  margin-top: 2px;
  margin-right: -10px;
}
.dropdown-submenu > a:after.pull-left {
  margin-right: .3em;
}
.dropdown-submenu > a:after.pull-right {
  margin-left: .3em;
}
.dropdown-submenu:hover > a:after {
  color: #262626;
}
.dropdown-submenu.pull-left {
  float: none;
}
.dropdown-submenu.pull-left > .dropdown-menu {
  left: -100%;
  margin-left: 10px;
}
#notification_area {
  float: right !important;
  float: right;
  z-index: 10;
}
.indicator_area {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
}
#kernel_indicator {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
  border-left: 1px solid;
}
#kernel_indicator .kernel_indicator_name {
  padding-left: 5px;
  padding-right: 5px;
}
#modal_indicator {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
}
#readonly-indicator {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
  margin-top: 2px;
  margin-bottom: 0px;
  margin-left: 0px;
  margin-right: 0px;
  display: none;
}
.modal_indicator:before {
  width: 1.28571429em;
  text-align: center;
}
.edit_mode .modal_indicator:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f040";
}
.edit_mode .modal_indicator:before.pull-left {
  margin-right: .3em;
}
.edit_mode .modal_indicator:before.pull-right {
  margin-left: .3em;
}
.command_mode .modal_indicator:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: ' ';
}
.command_mode .modal_indicator:before.pull-left {
  margin-right: .3em;
}
.command_mode .modal_indicator:before.pull-right {
  margin-left: .3em;
}
.kernel_idle_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f10c";
}
.kernel_idle_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_idle_icon:before.pull-right {
  margin-left: .3em;
}
.kernel_busy_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f111";
}
.kernel_busy_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_busy_icon:before.pull-right {
  margin-left: .3em;
}
.kernel_dead_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f1e2";
}
.kernel_dead_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_dead_icon:before.pull-right {
  margin-left: .3em;
}
.kernel_disconnected_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f127";
}
.kernel_disconnected_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_disconnected_icon:before.pull-right {
  margin-left: .3em;
}
.notification_widget {
  color: #777;
  z-index: 10;
  background: rgba(240, 240, 240, 0.5);
  margin-right: 4px;
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
.notification_widget:focus,
.notification_widget.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
.notification_widget:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.notification_widget:active,
.notification_widget.active,
.open > .dropdown-toggle.notification_widget {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.notification_widget:active:hover,
.notification_widget.active:hover,
.open > .dropdown-toggle.notification_widget:hover,
.notification_widget:active:focus,
.notification_widget.active:focus,
.open > .dropdown-toggle.notification_widget:focus,
.notification_widget:active.focus,
.notification_widget.active.focus,
.open > .dropdown-toggle.notification_widget.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
.notification_widget:active,
.notification_widget.active,
.open > .dropdown-toggle.notification_widget {
  background-image: none;
}
.notification_widget.disabled:hover,
.notification_widget[disabled]:hover,
fieldset[disabled] .notification_widget:hover,
.notification_widget.disabled:focus,
.notification_widget[disabled]:focus,
fieldset[disabled] .notification_widget:focus,
.notification_widget.disabled.focus,
.notification_widget[disabled].focus,
fieldset[disabled] .notification_widget.focus {
  background-color: #fff;
  border-color: #ccc;
}
.notification_widget .badge {
  color: #fff;
  background-color: #333;
}
.notification_widget.warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #eea236;
}
.notification_widget.warning:focus,
.notification_widget.warning.focus {
  color: #fff;
  background-color: #ec971f;
  border-color: #985f0d;
}
.notification_widget.warning:hover {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.notification_widget.warning:active,
.notification_widget.warning.active,
.open > .dropdown-toggle.notification_widget.warning {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.notification_widget.warning:active:hover,
.notification_widget.warning.active:hover,
.open > .dropdown-toggle.notification_widget.warning:hover,
.notification_widget.warning:active:focus,
.notification_widget.warning.active:focus,
.open > .dropdown-toggle.notification_widget.warning:focus,
.notification_widget.warning:active.focus,
.notification_widget.warning.active.focus,
.open > .dropdown-toggle.notification_widget.warning.focus {
  color: #fff;
  background-color: #d58512;
  border-color: #985f0d;
}
.notification_widget.warning:active,
.notification_widget.warning.active,
.open > .dropdown-toggle.notification_widget.warning {
  background-image: none;
}
.notification_widget.warning.disabled:hover,
.notification_widget.warning[disabled]:hover,
fieldset[disabled] .notification_widget.warning:hover,
.notification_widget.warning.disabled:focus,
.notification_widget.warning[disabled]:focus,
fieldset[disabled] .notification_widget.warning:focus,
.notification_widget.warning.disabled.focus,
.notification_widget.warning[disabled].focus,
fieldset[disabled] .notification_widget.warning.focus {
  background-color: #f0ad4e;
  border-color: #eea236;
}
.notification_widget.warning .badge {
  color: #f0ad4e;
  background-color: #fff;
}
.notification_widget.success {
  color: #fff;
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.notification_widget.success:focus,
.notification_widget.success.focus {
  color: #fff;
  background-color: #449d44;
  border-color: #255625;
}
.notification_widget.success:hover {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.notification_widget.success:active,
.notification_widget.success.active,
.open > .dropdown-toggle.notification_widget.success {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.notification_widget.success:active:hover,
.notification_widget.success.active:hover,
.open > .dropdown-toggle.notification_widget.success:hover,
.notification_widget.success:active:focus,
.notification_widget.success.active:focus,
.open > .dropdown-toggle.notification_widget.success:focus,
.notification_widget.success:active.focus,
.notification_widget.success.active.focus,
.open > .dropdown-toggle.notification_widget.success.focus {
  color: #fff;
  background-color: #398439;
  border-color: #255625;
}
.notification_widget.success:active,
.notification_widget.success.active,
.open > .dropdown-toggle.notification_widget.success {
  background-image: none;
}
.notification_widget.success.disabled:hover,
.notification_widget.success[disabled]:hover,
fieldset[disabled] .notification_widget.success:hover,
.notification_widget.success.disabled:focus,
.notification_widget.success[disabled]:focus,
fieldset[disabled] .notification_widget.success:focus,
.notification_widget.success.disabled.focus,
.notification_widget.success[disabled].focus,
fieldset[disabled] .notification_widget.success.focus {
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.notification_widget.success .badge {
  color: #5cb85c;
  background-color: #fff;
}
.notification_widget.info {
  color: #fff;
  background-color: #5bc0de;
  border-color: #46b8da;
}
.notification_widget.info:focus,
.notification_widget.info.focus {
  color: #fff;
  background-color: #31b0d5;
  border-color: #1b6d85;
}
.notification_widget.info:hover {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.notification_widget.info:active,
.notification_widget.info.active,
.open > .dropdown-toggle.notification_widget.info {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.notification_widget.info:active:hover,
.notification_widget.info.active:hover,
.open > .dropdown-toggle.notification_widget.info:hover,
.notification_widget.info:active:focus,
.notification_widget.info.active:focus,
.open > .dropdown-toggle.notification_widget.info:focus,
.notification_widget.info:active.focus,
.notification_widget.info.active.focus,
.open > .dropdown-toggle.notification_widget.info.focus {
  color: #fff;
  background-color: #269abc;
  border-color: #1b6d85;
}
.notification_widget.info:active,
.notification_widget.info.active,
.open > .dropdown-toggle.notification_widget.info {
  background-image: none;
}
.notification_widget.info.disabled:hover,
.notification_widget.info[disabled]:hover,
fieldset[disabled] .notification_widget.info:hover,
.notification_widget.info.disabled:focus,
.notification_widget.info[disabled]:focus,
fieldset[disabled] .notification_widget.info:focus,
.notification_widget.info.disabled.focus,
.notification_widget.info[disabled].focus,
fieldset[disabled] .notification_widget.info.focus {
  background-color: #5bc0de;
  border-color: #46b8da;
}
.notification_widget.info .badge {
  color: #5bc0de;
  background-color: #fff;
}
.notification_widget.danger {
  color: #fff;
  background-color: #d9534f;
  border-color: #d43f3a;
}
.notification_widget.danger:focus,
.notification_widget.danger.focus {
  color: #fff;
  background-color: #c9302c;
  border-color: #761c19;
}
.notification_widget.danger:hover {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.notification_widget.danger:active,
.notification_widget.danger.active,
.open > .dropdown-toggle.notification_widget.danger {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.notification_widget.danger:active:hover,
.notification_widget.danger.active:hover,
.open > .dropdown-toggle.notification_widget.danger:hover,
.notification_widget.danger:active:focus,
.notification_widget.danger.active:focus,
.open > .dropdown-toggle.notification_widget.danger:focus,
.notification_widget.danger:active.focus,
.notification_widget.danger.active.focus,
.open > .dropdown-toggle.notification_widget.danger.focus {
  color: #fff;
  background-color: #ac2925;
  border-color: #761c19;
}
.notification_widget.danger:active,
.notification_widget.danger.active,
.open > .dropdown-toggle.notification_widget.danger {
  background-image: none;
}
.notification_widget.danger.disabled:hover,
.notification_widget.danger[disabled]:hover,
fieldset[disabled] .notification_widget.danger:hover,
.notification_widget.danger.disabled:focus,
.notification_widget.danger[disabled]:focus,
fieldset[disabled] .notification_widget.danger:focus,
.notification_widget.danger.disabled.focus,
.notification_widget.danger[disabled].focus,
fieldset[disabled] .notification_widget.danger.focus {
  background-color: #d9534f;
  border-color: #d43f3a;
}
.notification_widget.danger .badge {
  color: #d9534f;
  background-color: #fff;
}
div#pager {
  background-color: #fff;
  font-size: 14px;
  line-height: 20px;
  overflow: hidden;
  display: none;
  position: fixed;
  bottom: 0px;
  width: 100%;
  max-height: 50%;
  padding-top: 8px;
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  /* Display over codemirror */
  z-index: 100;
  /* Hack which prevents jquery ui resizable from changing top. */
  top: auto !important;
}
div#pager pre {
  line-height: 1.21429em;
  color: #000;
  background-color: #f7f7f7;
  padding: 0.4em;
}
div#pager #pager-button-area {
  position: absolute;
  top: 8px;
  right: 20px;
}
div#pager #pager-contents {
  position: relative;
  overflow: auto;
  width: 100%;
  height: 100%;
}
div#pager #pager-contents #pager-container {
  position: relative;
  padding: 15px 0px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
div#pager .ui-resizable-handle {
  top: 0px;
  height: 8px;
  background: #f7f7f7;
  border-top: 1px solid #cfcfcf;
  border-bottom: 1px solid #cfcfcf;
  /* This injects handle bars (a short, wide = symbol) for 
        the resize handle. */
}
div#pager .ui-resizable-handle::after {
  content: '';
  top: 2px;
  left: 50%;
  height: 3px;
  width: 30px;
  margin-left: -15px;
  position: absolute;
  border-top: 1px solid #cfcfcf;
}
.quickhelp {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
  line-height: 1.8em;
}
.shortcut_key {
  display: inline-block;
  width: 21ex;
  text-align: right;
  font-family: monospace;
}
.shortcut_descr {
  display: inline-block;
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
span.save_widget {
  margin-top: 6px;
}
span.save_widget span.filename {
  height: 1em;
  line-height: 1em;
  padding: 3px;
  margin-left: 16px;
  border: none;
  font-size: 146.5%;
  border-radius: 2px;
}
span.save_widget span.filename:hover {
  background-color: #e6e6e6;
}
span.checkpoint_status,
span.autosave_status {
  font-size: small;
}
@media (max-width: 767px) {
  span.save_widget {
    font-size: small;
  }
  span.checkpoint_status,
  span.autosave_status {
    display: none;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  span.checkpoint_status {
    display: none;
  }
  span.autosave_status {
    font-size: x-small;
  }
}
.toolbar {
  padding: 0px;
  margin-left: -5px;
  margin-top: 2px;
  margin-bottom: 5px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
.toolbar select,
.toolbar label {
  width: auto;
  vertical-align: middle;
  margin-right: 2px;
  margin-bottom: 0px;
  display: inline;
  font-size: 92%;
  margin-left: 0.3em;
  margin-right: 0.3em;
  padding: 0px;
  padding-top: 3px;
}
.toolbar .btn {
  padding: 2px 8px;
}
.toolbar .btn-group {
  margin-top: 0px;
  margin-left: 5px;
}
#maintoolbar {
  margin-bottom: -3px;
  margin-top: -8px;
  border: 0px;
  min-height: 27px;
  margin-left: 0px;
  padding-top: 11px;
  padding-bottom: 3px;
}
#maintoolbar .navbar-text {
  float: none;
  vertical-align: middle;
  text-align: right;
  margin-left: 5px;
  margin-right: 0px;
  margin-top: 0px;
}
.select-xs {
  height: 24px;
}
.pulse,
.dropdown-menu > li > a.pulse,
li.pulse > a.dropdown-toggle,
li.pulse.open > a.dropdown-toggle {
  background-color: #F37626;
  color: white;
}
/**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot
 * of chance of beeing generated from the ../less/[samename].less file, you can
 * try to get back the less file by reverting somme commit in history
 **/
/*
 * We'll try to get something pretty, so we
 * have some strange css to have the scroll bar on
 * the left with fix button on the top right of the tooltip
 */
@-moz-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-moz-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*properties of tooltip after "expand"*/
.bigtooltip {
  overflow: auto;
  height: 200px;
  -webkit-transition-property: height;
  -webkit-transition-duration: 500ms;
  -moz-transition-property: height;
  -moz-transition-duration: 500ms;
  transition-property: height;
  transition-duration: 500ms;
}
/*properties of tooltip before "expand"*/
.smalltooltip {
  -webkit-transition-property: height;
  -webkit-transition-duration: 500ms;
  -moz-transition-property: height;
  -moz-transition-duration: 500ms;
  transition-property: height;
  transition-duration: 500ms;
  text-overflow: ellipsis;
  overflow: hidden;
  height: 80px;
}
.tooltipbuttons {
  position: absolute;
  padding-right: 15px;
  top: 0px;
  right: 0px;
}
.tooltiptext {
  /*avoid the button to overlap on some docstring*/
  padding-right: 30px;
}
.ipython_tooltip {
  max-width: 700px;
  /*fade-in animation when inserted*/
  -webkit-animation: fadeOut 400ms;
  -moz-animation: fadeOut 400ms;
  animation: fadeOut 400ms;
  -webkit-animation: fadeIn 400ms;
  -moz-animation: fadeIn 400ms;
  animation: fadeIn 400ms;
  vertical-align: middle;
  background-color: #f7f7f7;
  overflow: visible;
  border: #ababab 1px solid;
  outline: none;
  padding: 3px;
  margin: 0px;
  padding-left: 7px;
  font-family: monospace;
  min-height: 50px;
  -moz-box-shadow: 0px 6px 10px -1px #adadad;
  -webkit-box-shadow: 0px 6px 10px -1px #adadad;
  box-shadow: 0px 6px 10px -1px #adadad;
  border-radius: 2px;
  position: absolute;
  z-index: 1000;
}
.ipython_tooltip a {
  float: right;
}
.ipython_tooltip .tooltiptext pre {
  border: 0;
  border-radius: 0;
  font-size: 100%;
  background-color: #f7f7f7;
}
.pretooltiparrow {
  left: 0px;
  margin: 0px;
  top: -16px;
  width: 40px;
  height: 16px;
  overflow: hidden;
  position: absolute;
}
.pretooltiparrow:before {
  background-color: #f7f7f7;
  border: 1px #ababab solid;
  z-index: 11;
  content: "";
  position: absolute;
  left: 15px;
  top: 10px;
  width: 25px;
  height: 25px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
}
ul.typeahead-list i {
  margin-left: -10px;
  width: 18px;
}
ul.typeahead-list {
  max-height: 80vh;
  overflow: auto;
}
ul.typeahead-list > li > a {
  /** Firefox bug **/
  /* see https://github.com/jupyter/notebook/issues/559 */
  white-space: normal;
}
.cmd-palette .modal-body {
  padding: 7px;
}
.cmd-palette form {
  background: white;
}
.cmd-palette input {
  outline: none;
}
.no-shortcut {
  display: none;
}
.command-shortcut:before {
  content: "(command)";
  padding-right: 3px;
  color: #777777;
}
.edit-shortcut:before {
  content: "(edit)";
  padding-right: 3px;
  color: #777777;
}
#find-and-replace #replace-preview .match,
#find-and-replace #replace-preview .insert {
  background-color: #BBDEFB;
  border-color: #90CAF9;
  border-style: solid;
  border-width: 1px;
  border-radius: 0px;
}
#find-and-replace #replace-preview .replace .match {
  background-color: #FFCDD2;
  border-color: #EF9A9A;
  border-radius: 0px;
}
#find-and-replace #replace-preview .replace .insert {
  background-color: #C8E6C9;
  border-color: #A5D6A7;
  border-radius: 0px;
}
#find-and-replace #replace-preview {
  max-height: 60vh;
  overflow: auto;
}
#find-and-replace #replace-preview pre {
  padding: 5px 10px;
}
.terminal-app {
  background: #EEE;
}
.terminal-app #header {
  background: #fff;
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
.terminal-app .terminal {
  width: 100%;
  float: left;
  font-family: monospace;
  color: white;
  background: black;
  padding: 0.4em;
  border-radius: 2px;
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
}
.terminal-app .terminal,
.terminal-app .terminal dummy-screen {
  line-height: 1em;
  font-size: 14px;
}
.terminal-app .terminal .xterm-rows {
  padding: 10px;
}
.terminal-app .terminal-cursor {
  color: black;
  background: white;
}
.terminal-app #terminado-container {
  margin-top: 20px;
}
/*# sourceMappingURL=style.min.css.map */
    </style>
<style type="text/css">
    .highlight .hll { background-color: #ffffcc }
.highlight  { background: #f8f8f8; }
.highlight .c { color: #408080; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
.highlight .o { color: #666666 } /* Operator */
.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #BC7A00 } /* Comment.Preproc */
.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */
.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00A000 } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #0044DD } /* Generic.Traceback */
.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008000 } /* Keyword.Pseudo */
.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #B00040 } /* Keyword.Type */
.highlight .m { color: #666666 } /* Literal.Number */
.highlight .s { color: #BA2121 } /* Literal.String */
.highlight .na { color: #7D9029 } /* Name.Attribute */
.highlight .nb { color: #008000 } /* Name.Builtin */
.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
.highlight .no { color: #880000 } /* Name.Constant */
.highlight .nd { color: #AA22FF } /* Name.Decorator */
.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0000FF } /* Name.Function */
.highlight .nl { color: #A0A000 } /* Name.Label */
.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #19177C } /* Name.Variable */
.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #666666 } /* Literal.Number.Bin */
.highlight .mf { color: #666666 } /* Literal.Number.Float */
.highlight .mh { color: #666666 } /* Literal.Number.Hex */
.highlight .mi { color: #666666 } /* Literal.Number.Integer */
.highlight .mo { color: #666666 } /* Literal.Number.Oct */
.highlight .sa { color: #BA2121 } /* Literal.String.Affix */
.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
.highlight .sc { color: #BA2121 } /* Literal.String.Char */
.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */
.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.highlight .sx { color: #008000 } /* Literal.String.Other */
.highlight .sr { color: #BB6688 } /* Literal.String.Regex */
.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
.highlight .ss { color: #19177C } /* Literal.String.Symbol */
.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0000FF } /* Name.Function.Magic */
.highlight .vc { color: #19177C } /* Name.Variable.Class */
.highlight .vg { color: #19177C } /* Name.Variable.Global */
.highlight .vi { color: #19177C } /* Name.Variable.Instance */
.highlight .vm { color: #19177C } /* Name.Variable.Magic */
.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
    </style>
<style type="text/css">
    
/* Temporary definitions which will become obsolete with Notebook release 5.0 */
.ansi-black-fg { color: #3E424D; }
.ansi-black-bg { background-color: #3E424D; }
.ansi-black-intense-fg { color: #282C36; }
.ansi-black-intense-bg { background-color: #282C36; }
.ansi-red-fg { color: #E75C58; }
.ansi-red-bg { background-color: #E75C58; }
.ansi-red-intense-fg { color: #B22B31; }
.ansi-red-intense-bg { background-color: #B22B31; }
.ansi-green-fg { color: #00A250; }
.ansi-green-bg { background-color: #00A250; }
.ansi-green-intense-fg { color: #007427; }
.ansi-green-intense-bg { background-color: #007427; }
.ansi-yellow-fg { color: #DDB62B; }
.ansi-yellow-bg { background-color: #DDB62B; }
.ansi-yellow-intense-fg { color: #B27D12; }
.ansi-yellow-intense-bg { background-color: #B27D12; }
.ansi-blue-fg { color: #208FFB; }
.ansi-blue-bg { background-color: #208FFB; }
.ansi-blue-intense-fg { color: #0065CA; }
.ansi-blue-intense-bg { background-color: #0065CA; }
.ansi-magenta-fg { color: #D160C4; }
.ansi-magenta-bg { background-color: #D160C4; }
.ansi-magenta-intense-fg { color: #A03196; }
.ansi-magenta-intense-bg { background-color: #A03196; }
.ansi-cyan-fg { color: #60C6C8; }
.ansi-cyan-bg { background-color: #60C6C8; }
.ansi-cyan-intense-fg { color: #258F8F; }
.ansi-cyan-intense-bg { background-color: #258F8F; }
.ansi-white-fg { color: #C5C1B4; }
.ansi-white-bg { background-color: #C5C1B4; }
.ansi-white-intense-fg { color: #A1A6B2; }
.ansi-white-intense-bg { background-color: #A1A6B2; }

.ansi-bold { font-weight: bold; }

    </style>


<style type="text/css">
/* Overrides of notebook CSS for static HTML export */
body {
  overflow: visible;
  padding: 8px;
}

div#notebook {
  overflow: visible;
  border-top: none;
}@media print {
  div.cell {
    display: block;
    page-break-inside: avoid;
  } 
  div.output_wrapper { 
    display: block;
    page-break-inside: avoid; 
  }
  div.output { 
    display: block;
    page-break-inside: avoid; 
  }
}
</style>

<!-- Custom stylesheet, it must be in the same directory as the html file -->
<link rel="stylesheet" href="custom.css">

<!-- Loading mathjax macro -->
<!-- Load mathjax -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_HTML"></script>
    <!-- MathJax configuration -->
    <script type="text/x-mathjax-config">
    MathJax.Hub.Config({
        tex2jax: {
            inlineMath: [ ['$','$'], ["\\(","\\)"] ],
            displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
            processEscapes: true,
            processEnvironments: true
        },
        // Center justify equations in code and markdown cells. Elsewhere
        // we use CSS to left justify single line equations in code cells.
        displayAlign: 'center',
        "HTML-CSS": {
            styles: {'.MathJax_Display': {"margin": 0}},
            linebreaks: { automatic: true }
        }
    });
    </script>
    <!-- End of mathjax configuration --></head>
<body>
  <div tabindex="-1" id="notebook" class="border-box-sizing">
    <div class="container" id="notebook-container">

<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h1 id="&#26426;&#22120;&#23398;&#20064;&#24037;&#31243;&#24072;&#32435;&#31859;&#23398;&#20301;">&#26426;&#22120;&#23398;&#20064;&#24037;&#31243;&#24072;&#32435;&#31859;&#23398;&#20301;<a class="anchor-link" href="#&#26426;&#22120;&#23398;&#20064;&#24037;&#31243;&#24072;&#32435;&#31859;&#23398;&#20301;">&#182;</a></h1><h2 id="&#26426;&#22120;&#23398;&#20064;&#22522;&#30784;">&#26426;&#22120;&#23398;&#20064;&#22522;&#30784;<a class="anchor-link" href="#&#26426;&#22120;&#23398;&#20064;&#22522;&#30784;">&#182;</a></h2><h2 id="&#39033;&#30446;-0:-&#39044;&#27979;&#27888;&#22374;&#23612;&#20811;&#21495;&#20056;&#23458;&#29983;&#36824;&#29575;">&#39033;&#30446; 0: &#39044;&#27979;&#27888;&#22374;&#23612;&#20811;&#21495;&#20056;&#23458;&#29983;&#36824;&#29575;<a class="anchor-link" href="#&#39033;&#30446;-0:-&#39044;&#27979;&#27888;&#22374;&#23612;&#20811;&#21495;&#20056;&#23458;&#29983;&#36824;&#29575;">&#182;</a></h2><p>1912年，泰坦尼克号在第一次航行中就与冰山相撞沉没，导致了大部分乘客和船员身亡。在这个入门项目中，我们将探索部分泰坦尼克号旅客名单，来确定哪些特征可以最好地预测一个人是否会生还。为了完成这个项目，你将需要实现几个基于条件的预测并回答下面的问题。我们将根据代码的完成度和对问题的解答来对你提交的项目的进行评估。</p>
<blockquote><p><strong>提示</strong>：这样的文字将会指导你如何使用 iPython Notebook 来完成项目。</p>
</blockquote>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>点击<a href="https://github.com/udacity/machine-learning/blob/master/projects/titanic_survival_exploration/titanic_survival_exploration.ipynb">这里</a>查看本文件的英文版本。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="&#20102;&#35299;&#25968;&#25454;">&#20102;&#35299;&#25968;&#25454;<a class="anchor-link" href="#&#20102;&#35299;&#25968;&#25454;">&#182;</a></h3><p>当我们开始处理泰坦尼克号乘客数据时，会先导入我们需要的功能模块以及将数据加载到 <code>pandas</code> DataFrame。运行下面区域中的代码加载数据，并使用 <code>.head()</code> 函数显示前几项乘客数据。</p>
<blockquote><p><strong>提示</strong>：你可以通过单击代码区域，然后使用键盘快捷键 <strong>Shift+Enter</strong> 或 <strong>Shift+ Return</strong> 来运行代码。或者在选择代码后使用<strong>播放</strong>（run cell）按钮执行代码。像这样的 MarkDown 文本可以通过双击编辑，并使用这些相同的快捷键保存。<a href="http://daringfireball.net/projects/markdown/syntax">Markdown</a> 允许你编写易读的纯文本并且可以转换为 HTML。</p>
</blockquote>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[1]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># 检查你的Python版本</span>
<span class="kn">from</span> <span class="nn">sys</span> <span class="kn">import</span> <span class="n">version_info</span>
<span class="k">if</span> <span class="n">version_info</span><span class="o">.</span><span class="n">major</span> <span class="o">!=</span> <span class="mi">2</span> <span class="ow">and</span> <span class="n">version_info</span><span class="o">.</span><span class="n">minor</span> <span class="o">!=</span> <span class="mi">7</span><span class="p">:</span>
    <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;请使用Python 2.7来完成此项目&#39;</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[2]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="kn">import</span> <span class="nn">numpy</span> <span class="kn">as</span> <span class="nn">np</span>
<span class="kn">import</span> <span class="nn">pandas</span> <span class="kn">as</span> <span class="nn">pd</span>

<span class="c1"># 数据可视化代码</span>
<span class="kn">from</span> <span class="nn">titanic_visualizations</span> <span class="kn">import</span> <span class="n">survival_stats</span>
<span class="kn">from</span> <span class="nn">IPython.display</span> <span class="kn">import</span> <span class="n">display</span>
<span class="o">%</span><span class="k">matplotlib</span> inline

<span class="c1"># 加载数据集</span>
<span class="n">in_file</span> <span class="o">=</span> <span class="s1">&#39;titanic_data.csv&#39;</span>
<span class="n">full_data</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="n">in_file</span><span class="p">)</span>

<span class="c1"># 显示数据列表中的前几项乘客数据</span>
<span class="n">display</span><span class="p">(</span><span class="n">full_data</span><span class="o">.</span><span class="n">head</span><span class="p">())</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>



<div class="output_html rendered_html output_subarea ">
<div>
<style>
    .dataframe thead tr:only-child th {
        text-align: right;
    }

    .dataframe thead th {
        text-align: left;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>PassengerId</th>
      <th>Survived</th>
      <th>Pclass</th>
      <th>Name</th>
      <th>Sex</th>
      <th>Age</th>
      <th>SibSp</th>
      <th>Parch</th>
      <th>Ticket</th>
      <th>Fare</th>
      <th>Cabin</th>
      <th>Embarked</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>1</td>
      <td>0</td>
      <td>3</td>
      <td>Braund, Mr. Owen Harris</td>
      <td>male</td>
      <td>22.0</td>
      <td>1</td>
      <td>0</td>
      <td>A/5 21171</td>
      <td>7.2500</td>
      <td>NaN</td>
      <td>S</td>
    </tr>
    <tr>
      <th>1</th>
      <td>2</td>
      <td>1</td>
      <td>1</td>
      <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>
      <td>female</td>
      <td>38.0</td>
      <td>1</td>
      <td>0</td>
      <td>PC 17599</td>
      <td>71.2833</td>
      <td>C85</td>
      <td>C</td>
    </tr>
    <tr>
      <th>2</th>
      <td>3</td>
      <td>1</td>
      <td>3</td>
      <td>Heikkinen, Miss. Laina</td>
      <td>female</td>
      <td>26.0</td>
      <td>0</td>
      <td>0</td>
      <td>STON/O2. 3101282</td>
      <td>7.9250</td>
      <td>NaN</td>
      <td>S</td>
    </tr>
    <tr>
      <th>3</th>
      <td>4</td>
      <td>1</td>
      <td>1</td>
      <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>
      <td>female</td>
      <td>35.0</td>
      <td>1</td>
      <td>0</td>
      <td>113803</td>
      <td>53.1000</td>
      <td>C123</td>
      <td>S</td>
    </tr>
    <tr>
      <th>4</th>
      <td>5</td>
      <td>0</td>
      <td>3</td>
      <td>Allen, Mr. William Henry</td>
      <td>male</td>
      <td>35.0</td>
      <td>0</td>
      <td>0</td>
      <td>373450</td>
      <td>8.0500</td>
      <td>NaN</td>
      <td>S</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>从泰坦尼克号的数据样本中，我们可以看到船上每位旅客的特征</p>
<ul>
<li><strong>Survived</strong>：是否存活（0代表否，1代表是）</li>
<li><strong>Pclass</strong>：社会阶级（1代表上层阶级，2代表中层阶级，3代表底层阶级）</li>
<li><strong>Name</strong>：船上乘客的名字</li>
<li><strong>Sex</strong>：船上乘客的性别</li>
<li><strong>Age</strong>:船上乘客的年龄（可能存在 <code>NaN</code>）</li>
<li><strong>SibSp</strong>：乘客在船上的兄弟姐妹和配偶的数量</li>
<li><strong>Parch</strong>：乘客在船上的父母以及小孩的数量</li>
<li><strong>Ticket</strong>：乘客船票的编号</li>
<li><strong>Fare</strong>：乘客为船票支付的费用</li>
<li><strong>Cabin</strong>：乘客所在船舱的编号（可能存在 <code>NaN</code>）</li>
<li><strong>Embarked</strong>：乘客上船的港口（C 代表从 Cherbourg 登船，Q 代表从 Queenstown 登船，S 代表从 Southampton 登船）</li>
</ul>
<p>因为我们感兴趣的是每个乘客或船员是否在事故中活了下来。可以将 <strong>Survived</strong> 这一特征从这个数据集移除，并且用一个单独的变量 <code>outcomes</code> 来存储。它也做为我们要预测的目标。</p>
<p>运行该代码，从数据集中移除 <strong>Survived</strong> 这个特征，并将它存储在变量 <code>outcomes</code> 中。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[3]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># 从数据集中移除 &#39;Survived&#39; 这个特征，并将它存储在一个新的变量中。</span>
<span class="n">outcomes</span> <span class="o">=</span> <span class="n">full_data</span><span class="p">[</span><span class="s1">&#39;Survived&#39;</span><span class="p">]</span>
<span class="n">data</span> <span class="o">=</span> <span class="n">full_data</span><span class="o">.</span><span class="n">drop</span><span class="p">(</span><span class="s1">&#39;Survived&#39;</span><span class="p">,</span> <span class="n">axis</span> <span class="o">=</span> <span class="mi">1</span><span class="p">)</span>

<span class="c1"># 显示已移除 &#39;Survived&#39; 特征的数据集</span>
<span class="n">display</span><span class="p">(</span><span class="n">data</span><span class="o">.</span><span class="n">head</span><span class="p">())</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>



<div class="output_html rendered_html output_subarea ">
<div>
<style>
    .dataframe thead tr:only-child th {
        text-align: right;
    }

    .dataframe thead th {
        text-align: left;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>PassengerId</th>
      <th>Pclass</th>
      <th>Name</th>
      <th>Sex</th>
      <th>Age</th>
      <th>SibSp</th>
      <th>Parch</th>
      <th>Ticket</th>
      <th>Fare</th>
      <th>Cabin</th>
      <th>Embarked</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>1</td>
      <td>3</td>
      <td>Braund, Mr. Owen Harris</td>
      <td>male</td>
      <td>22.0</td>
      <td>1</td>
      <td>0</td>
      <td>A/5 21171</td>
      <td>7.2500</td>
      <td>NaN</td>
      <td>S</td>
    </tr>
    <tr>
      <th>1</th>
      <td>2</td>
      <td>1</td>
      <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>
      <td>female</td>
      <td>38.0</td>
      <td>1</td>
      <td>0</td>
      <td>PC 17599</td>
      <td>71.2833</td>
      <td>C85</td>
      <td>C</td>
    </tr>
    <tr>
      <th>2</th>
      <td>3</td>
      <td>3</td>
      <td>Heikkinen, Miss. Laina</td>
      <td>female</td>
      <td>26.0</td>
      <td>0</td>
      <td>0</td>
      <td>STON/O2. 3101282</td>
      <td>7.9250</td>
      <td>NaN</td>
      <td>S</td>
    </tr>
    <tr>
      <th>3</th>
      <td>4</td>
      <td>1</td>
      <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>
      <td>female</td>
      <td>35.0</td>
      <td>1</td>
      <td>0</td>
      <td>113803</td>
      <td>53.1000</td>
      <td>C123</td>
      <td>S</td>
    </tr>
    <tr>
      <th>4</th>
      <td>5</td>
      <td>3</td>
      <td>Allen, Mr. William Henry</td>
      <td>male</td>
      <td>35.0</td>
      <td>0</td>
      <td>0</td>
      <td>373450</td>
      <td>8.0500</td>
      <td>NaN</td>
      <td>S</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>这个例子展示了如何将泰坦尼克号的 <strong>Survived</strong> 数据从 DataFrame 移除。注意到 <code>data</code>（乘客数据）和 <code>outcomes</code> （是否存活）现在已经匹配好。这意味着对于任何乘客的 <code>data.loc[i]</code> 都有对应的存活的结果 <code>outcome[i]</code>。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="&#35745;&#31639;&#20934;&#30830;&#29575;">&#35745;&#31639;&#20934;&#30830;&#29575;<a class="anchor-link" href="#&#35745;&#31639;&#20934;&#30830;&#29575;">&#182;</a></h3><p>为了验证我们预测的结果，我们需要一个标准来给我们的预测打分。因为我们最感兴趣的是我们预测的<strong>准确率</strong>，既正确预测乘客存活的比例。运行下面的代码来创建我们的 <code>accuracy_score</code> 函数以对前五名乘客的预测来做测试。</p>
<p><strong>思考题</strong>：在前五个乘客中，如果我们预测他们全部都存活，你觉得我们预测的准确率是多少？</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[4]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="k">def</span> <span class="nf">accuracy_score</span><span class="p">(</span><span class="n">truth</span><span class="p">,</span> <span class="n">pred</span><span class="p">):</span>
    <span class="sd">&quot;&quot;&quot; 返回 pred 相对于 truth 的准确率 &quot;&quot;&quot;</span>
    
    <span class="c1"># 确保预测的数量与结果的数量一致</span>
    <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">truth</span><span class="p">)</span> <span class="o">==</span> <span class="nb">len</span><span class="p">(</span><span class="n">pred</span><span class="p">):</span> 
        
        <span class="c1"># 计算预测准确率（百分比）</span>
        <span class="k">return</span> <span class="s2">&quot;Predictions have an accuracy of {:.2f}%.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">((</span><span class="n">truth</span> <span class="o">==</span> <span class="n">pred</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span><span class="p">()</span><span class="o">*</span><span class="mi">100</span><span class="p">)</span>
    
    <span class="k">else</span><span class="p">:</span>
        <span class="k">return</span> <span class="s2">&quot;Number of predictions does not match number of outcomes!&quot;</span>
    
<span class="c1"># 测试 &#39;accuracy_score&#39; 函数</span>
<span class="n">predictions</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">Series</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">ones</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span> <span class="n">dtype</span> <span class="o">=</span> <span class="nb">int</span><span class="p">))</span> <span class="c1">#五个预测全部为1，既存活</span>
<span class="k">print</span> <span class="n">accuracy_score</span><span class="p">(</span><span class="n">outcomes</span><span class="p">[:</span><span class="mi">5</span><span class="p">],</span> <span class="n">predictions</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>Predictions have an accuracy of 60.00%.
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<blockquote><p><strong>提示</strong>：如果你保存 iPython Notebook，代码运行的输出也将被保存。但是，一旦你重新打开项目，你的工作区将会被重置。请确保每次都从上次离开的地方运行代码来重新生成变量和函数。</p>
</blockquote>
<h3 id="&#26368;&#31616;&#21333;&#30340;&#39044;&#27979;">&#26368;&#31616;&#21333;&#30340;&#39044;&#27979;<a class="anchor-link" href="#&#26368;&#31616;&#21333;&#30340;&#39044;&#27979;">&#182;</a></h3><p>如果我们要预测泰坦尼克号上的乘客是否存活，但是我们又对他们一无所知，那么最好的预测就是船上的人无一幸免。这是因为，我们可以假定当船沉没的时候大多数乘客都遇难了。下面的 <code>predictions_0</code> 函数就预测船上的乘客全部遇难。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[5]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="k">def</span> <span class="nf">predictions_0</span><span class="p">(</span><span class="n">data</span><span class="p">):</span>
    <span class="sd">&quot;&quot;&quot; 不考虑任何特征，预测所有人都无法生还 &quot;&quot;&quot;</span>

    <span class="n">predictions</span> <span class="o">=</span> <span class="p">[]</span>
    <span class="k">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">passenger</span> <span class="ow">in</span> <span class="n">data</span><span class="o">.</span><span class="n">iterrows</span><span class="p">():</span>
        
        <span class="c1"># 预测 &#39;passenger&#39; 的生还率</span>
        <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
    
    <span class="c1"># 返回预测结果</span>
    <span class="k">return</span> <span class="n">pd</span><span class="o">.</span><span class="n">Series</span><span class="p">(</span><span class="n">predictions</span><span class="p">)</span>

<span class="c1"># 进行预测</span>
<span class="n">predictions</span> <span class="o">=</span> <span class="n">predictions_0</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong>问题1</strong>：对比真实的泰坦尼克号的数据，如果我们做一个所有乘客都没有存活的预测，这个预测的准确率能达到多少？</p>
<p><strong>回答</strong>： 61.62%</p>
<p><strong>提示</strong>：运行下面的代码来查看预测的准确率。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[6]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="k">print</span> <span class="n">accuracy_score</span><span class="p">(</span><span class="n">outcomes</span><span class="p">,</span> <span class="n">predictions</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>Predictions have an accuracy of 61.62%.
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="&#32771;&#34385;&#19968;&#20010;&#29305;&#24449;&#36827;&#34892;&#39044;&#27979;">&#32771;&#34385;&#19968;&#20010;&#29305;&#24449;&#36827;&#34892;&#39044;&#27979;<a class="anchor-link" href="#&#32771;&#34385;&#19968;&#20010;&#29305;&#24449;&#36827;&#34892;&#39044;&#27979;">&#182;</a></h3><p>我们可以使用 <code>survival_stats</code> 函数来看看 <strong>Sex</strong> 这一特征对乘客的存活率有多大影响。这个函数定义在名为 <code>titanic_visualizations.py</code> 的 Python 脚本文件中，我们的项目提供了这个文件。传递给函数的前两个参数分别是泰坦尼克号的乘客数据和乘客的 生还结果。第三个参数表明我们会依据哪个特征来绘制图形。</p>
<p>运行下面的代码绘制出依据乘客性别计算存活率的柱形图。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[7]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">survival_stats</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">outcomes</span><span class="p">,</span> <span class="s1">&#39;Sex&#39;</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>




<div class="output_png output_subarea ">
<img src="
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
89RTT7W6/NKlS9ljjz2YOXMm++67L5deeikAJ598MscccwwPPvggRx11FKeccgp77bUX48eP5/zz
z2fGjBlst912q6zr7LPP5uabb2bmzJlcd911Hda+dOlSdt99d2bOnMlpp53Gfffdx9KlSwG46qqr
OOKII1aZf+LEiVx99dUrh6+++momTpzILbfcwqxZs7j//vuZMWMG06dP58477+z4yeskA16S1Ofu
vPNOPvaxjwFwyCGHsNFGG7U63zrrrLOypbzrrrvy5JNPAnDvvffy0Y9+FICjjz6au+++u8Nt7r33
3hx77LFceumlrFixosP5m5qa+Od//mcABgwYwEEHHcSvf/1rli9fzg033MChhx66yvw777wzCxYs
4Omnn2bmzJlstNFGbLXVVtxyyy3ccsst7Lzzzuyyyy48+uijzJo1q8Ptd5b74CVJvebxxx+nqamJ
zTbbjEceeaTTyw8cOHDlEeZNTU0sX768y7VcfPHF3Hfffdxwww3suuuuTJ8+nQEDBqw8CBBY5adq
gwYNWmW/+xFHHMFFF13ExhtvzJgxYxg8ePBq25gwYQJTp07lmWeeYeLEiUDxO/cvfelLnHjiiV2u
vR624GtFeOutm6S1zsKFCznppJP47Gc/u9rPwPbdd19+9rOfAXDTTTfxwgsvdGrde+21F1OmTAHg
yiuvZJ999gFg8ODBLFmypNVlHnvsMXbffXfOPvtshg4dypw5cxg+fDgzZszg9ddfZ86cOdx///1t
bvN973sfDzzwAJdeeulq3fPNJk6cyJQpU5g6derKffYHHnggP/nJT3j55ZcBmDdv3mq7LHqCLXhJ
UsO8+uqrjB49mmXLljFgwACOPvpoTj311NXmO+OMMzjyyCMZMWIEe+21F1tvvXWntvP973+f4447
jvPPP5+hQ4fyH//xH0DRyv7kJz/JhRdeyNSpU1fZD//5z3+eWbNmkZnsv//+jBo1CoBtt92WHXbY
ge23355ddtmlzW02NTUxbtw4Lr/8ciZPntzqPCNGjGDJkiVsueWWbL755gAccMABPPLII+y5555A
cfDeFVdcwWabbdapx9yRaOtIxTXBmDFjskevB2/Lsveswe87aU3xyCOPsP322/d1Geqi1l6/iJie
mXX9ttAuekmSKsiAlySpggx4SZIqyICXJKmCDHhJkirIgJckqYIMeElSQ33jG99gxIgRjBw5ktGj
R3Pfffd1e53XXXcd5513Xg9UV/wOvYo80Y0krSXirJ4910ee0fH5LO69916uv/56HnjgAdZdd12e
e+45/vGPf9S1/uXLlzNgQOsxNX78eMaPH9+petc2tuAlSQ0zf/58Nt10U9Zdd10ANt10U7bYYouV
l1QFmDZtGmPHjgWKS6oeffTR7L333hx99NHssccePPTQQyvXN3bsWKZNm7bysq4vvvgi22yzzcrz
xy9dupStttqKZcuW8dhjj3HQQQex6667ss8++/Doo48C8MQTT7Dnnnuy00478ZWvfKUXn43eZcBL
khrmgAMOYM6cObzzne/k05/+NHfccUeHyzz88MP89re/5ec///kql1ydP38+8+fPZ8yYN07ktuGG
GzJ69OiV673++us58MADGThwICeccALf//73mT59Ot/5znf49Kc/DcCkSZP41Kc+xZ///OeVp4+t
IgNektQwG2ywAdOnT+eSSy5h6NChTJw4kcsvv7zdZcaPH896660HwOGHH87UqVOB4nrqhx122Grz
T5w4kauuugqAKVOmMHHiRF5++WXuueceJkyYwOjRoznxxBOZP38+AL///e858sgjgeLSslXlPnhJ
UkM1NTUxduxYxo4dy0477cTkyZNXuSxr7SVZAdZff/2V97fccks22WQTHnzwQa666iouvvji1dY/
fvx4Tj/9dJ5//nmmT5/Ofvvtx9KlSxkyZAgzZsxotaaWV7OrIlvwkqSG+etf/8qsWbNWDs+YMYNt
ttmG4cOHM336dAB+8YtftLuOiRMn8u1vf5sXX3yRkSNHrjZ9gw02YLfddmPSpEmMGzeOpqYm3vKW
t7DttttyzTXXAMU12GfOnAnA3nvvvcqlZavKgJckNczLL7/MMcccww477MDIkSN5+OGHOfPMMznj
jDOYNGkSY8aMoampqd11HHbYYUyZMoXDDz+8zXkmTpzIFVdcwcSJE1eOu/LKK7nssssYNWoUI0aM
4Fe/+hUA3/ve9/jBD37ATjvtxLx583rmgfZDXi621lrQZdNvrMHvO2lN4eVi12xeLlaSJK3GgJck
qYIMeEmSKsiAl6QKW5OPs1qb9cTrZsBLUkUNGjSIRYsWGfJrmMxk0aJFDBo0qFvr8UQ3klRRw4YN
Y+7cuSxcuLCvS1EnDRo0iGHDhnVrHQa8JFXUwIED2Xbbbfu6DPURu+glSaogA16SpAoy4CVJqiAD
XpKkCjLgJUmqIANekqQKMuAlSaogA16SpAoy4CVJqiADXpKkCjLgJUmqIANekqQKMuAlSaogA16S
pAoy4CVJqiADXpKkCjLgJUmqoIYHfEQ0RcSfIuL6cnjbiLgvImZHxFURsU45ft1yeHY5fXija5Mk
qap6owU/CXikZvhbwL9l5tuBF4Djy/HHAy+U4/+tnE+SJHVBQwM+IoYBhwD/rxwOYD9gajnLZOBD
5f1Dy2HK6fuX80uSpE5qdAv+34EvAK+Xw5sAizNzeTk8F9iyvL8lMAegnP5iOf8qIuKEiJgWEdMW
LlzYyNolSVpjNSzgI2IcsCAzp/fkejPzkswck5ljhg4d2pOrliSpMgY0cN17A+Mj4gPAIOAtwPeA
IRExoGylDwPmlfPPA7YC5kbEAGBDYFED65MkqbIa1oLPzC9l5rDMHA4cAfwuM48CbgMOK2c7BvhV
ef+6cphy+u8yMxtVnyRJVdYXv4P/InBqRMym2Md+WTn+MmCTcvypwGl9UJskSZXQyC76lTLzduD2
8v7jwHtamec1YEJv1CNJUtV5JjtJkirIgJckqYIMeEmSKsiAlySpggx4SZIqyICXJKmCDHhJkirI
gJckqYIMeEmSKsiAlySpggx4SZIqyICXJKmCDHhJkirIgJckqYIMeEmSKsiAlySpggx4SZIqyICX
JKmCDHhJkirIgJckqYIMeEmSKsiAlySpggx4SZIqyICXJKmCDHhJkirIgJckqYIMeEmSKsiAlySp
ggx4SZIqyICXJKmCDHhJkirIgJckqYIMeEmSKsiAlySpggx4SZIqyICXJKmCDHhJkirIgJckqYIM
eEmSKsiAlySpggx4SZIqyICXJKmCOgz4iFg/It5U3n9nRIyPiIGNL02SJHVVPS34O4FBEbElcAtw
NHB5I4uSJEndU0/AR2a+AnwE+GFmTgBGNLYsSZLUHXUFfETsCRwF3FCOa2pcSZIkqbvqCfhJwJeA
X2bmQxHxNuC2xpYlSZK6Y0B7EyOiCRifmeObx2Xm48ApjS5MkiR1Xbst+MxcAby3l2qRJEk9pN0W
fOlPEXEdcA2wtHlkZv5Xw6qSJEndUk/ADwIWAfvVjEvAgJckqZ/qMOAz87jeKESSJPWces5k986I
uDUi/lIOj4yIrzS+NEmS1FX1/EzuUoqfyS0DyMwHgSMaWZQkSeqeegL+zZl5f4txyxtRjCRJ6hn1
BPxzEbEdxYF1RMRhwPyGViVJkrqlnqPoPwNcArw7IuYBTwAfa2hVkiSpWzpswWfm45n5fmAo8O7M
fG9mPtnRchExKCLuj4iZEfFQRJxVjt82Iu6LiNkRcVVErFOOX7ccnl1OH96tRyZJ0lqswxZ8RJza
YhjgRWB6Zs5oZ9G/A/tl5svl9ePvjoibgFOBf8vMKRFxMXA88KPy7wuZ+faIOAL4FjCxKw9KkqS1
XT374McAJwFblrcTgYOASyPiC20tlIWXy8GB5S0pTpgztRw/GfhQef/Qcphy+v5RfpuQJEmdU0/A
DwN2yczPZebngF2BzYB9gWPbWzAimiJiBrAA+A3wGLA4M5uPwp9L8aWB8u8cgHL6i8AmnXo0kiQJ
qC/gN6Pobm+2DHhrZr7aYvxqMnNFZo6m+JLwHuDdXS20WUScEBHTImLawoULu7s6SZIqqZ6j6K8E
7ouIX5XDHwR+FhHrAw/Xs5HMXBwRtwF7AkMiYkDZSh8GzCtnmwdsBcyNiAHAhhTnwG+5rksojupn
zJgxWc/2JUla29RzFP05FPvdF5e3kzLz7MxcmplHtbVcRAyNiCHl/fWAfwIeAW4DDitnOwZo/uJw
XTlMOf13mWmAS5LUBfW04AEeoGhhDwCIiK0z86kOltkcmBwRTRRfJK7OzOsj4mFgSkR8HfgTcFk5
/2XATyNiNvA8ng5XkqQuq+dncicDZwDPAiuAoDgafmR7y5XnrN+5lfGPU+yPbzn+NWBCXVVLkqR2
1dOCnwS8KzNX2x8uSZL6p3qOop9D8ZM1SZK0hqinBf84cHtE3EDNz+Iy87sNq0qSJHVLPQH/VHlb
p7xJkqR+rsOAz8zmi8S8OTNfaXxJkiSpuzrcBx8Re5Y/bXu0HB4VET9seGWSJKnL6jnI7t+BAynP
KpeZMynOQy9JkvqpegKezJzTYtSKBtQiSZJ6SD0H2c2JiL2ALK/rPonilLOSJKmfqqcFfxLwGYrL
uc4DRpfDkiSpn6rnKPrngDYvKiNJkvqfeo6i/3ZEvCUiBkbErRGxMCI+1hvFSZKkrqmni/6AzHwJ
GAc8Cbwd+Hwji5IkSd1TT8A3d+MfAlyTmZ6XXpKkfq6eo+ivj4hHgVeBT0XEUOC1xpYlSZK6o8MW
fGaeBuwFjMnMZcBS4NBGFyZJkrqunoPsJgDLMnNFRHwFuALYouGVSZKkLqtnH/xXM3NJRLwXeD9w
GfCjxpYlSZK6o56Abz4t7SHAJZl5A142VpKkfq2egJ8XET8GJgI3RsS6dS4nSZL6SD1BfThwM3Bg
Zi4GNsbfwUuS1K/VcxT9K5n5X8CLEbE1MJDy2vCSJKl/quco+vERMQt4Arij/HtTowuTJEldV08X
/TnAHsD/ZOa2FEfS/6GhVUmSpG6pJ+CXZeYi4E0R8abMvA0Y0+C6JElSN9RzqtrFEbEBcCdwZUQs
oDibnSRJ6qfqacEfCrwC/F/gv4HHgA82sihJktQ97bbgI+JDFJeH/XNm3gxM7pWqJElSt7TZgo+I
H1K02jcBzomIr/ZaVZIkqVvaa8HvC4wqLzLzZuAuiiPqJUlSP9fePvh/ZOYKKE52A0TvlCRJkrqr
vRb8uyPiwfJ+ANuVwwFkZo5seHWSJKlL2gv47XutCkmS1KPaDPjM/FtvFiJJknqOl32VJKmCDHhJ
kiqovd/B31r+/VbvlSNJknpCewfZbR4RewHjI2IKLX4ml5kPNLQySZLUZe0F/NeArwLDgO+2mJbA
fo0qSpIkdU97R9FPBaZGxFcz0zPYSVKFxFmeu6w35BnZZ9vu8HKxmXlORIynOHUtwO2ZeX1jy5Ik
Sd3R4VH0EXEuMAl4uLxNiohvNrowSZLUdR224IFDgNGZ+TpAREwG/gSc3sjCJElS19X7O/ghNfc3
bEQhkiSp59TTgj8X+FNE3EbxU7l9gdMaWpUkSeqWeg6y+3lE3A7sVo76YmY+09CqJElSt9TTgicz
5wPXNbgWSZLUQzwXvSRJFWTAS5JUQe0GfEQ0RcSjvVWMJEnqGe0GfGauAP4aEVv3Uj2SJKkH1HOQ
3UbAQxFxP7C0eWRmjm9YVZIkqVvqCfivNrwKSZLUo+r5HfwdEbEN8I7M/G1EvBloanxpkiSpq+q5
2MwnganAj8tRWwLXNrIoSZLUPfX8TO4zwN7ASwCZOQvYrJFFSZKk7qkn4P+emf9oHoiIAUDfXcFe
kiR1qJ6AvyMiTgfWi4h/Aq4Bft3YsiRJUnfUE/CnAQuBPwMnAjcCX+looYjYKiJui4iHI+KhiJhU
jt84In4TEbPKvxuV4yMiLoyI2RHxYETs0vWHJUnS2q2eo+hfj4jJwH0UXfN/zcx6uuiXA5/LzAci
YjAwPSJ+AxwL3JqZ50XEaRRfIL4IHAy8o7ztDvyo/CtJkjqpnqPoDwEeAy4ELgJmR8TBHS2XmfMz
84Hy/hJIIAuhAAAK90lEQVTgEYoj8A8FJpezTQY+VN4/FPjPLPwBGBIRm3fy8UiSJOo70c0FwP/O
zNkAEbEdcANwU70biYjhwM4UvQBvLS8/C/AM8Nby/pbAnJrF5pbj5teMIyJOAE4A2Hprz6ArSVJr
6tkHv6Q53EuPA0vq3UBEbAD8AviXzHypdlrZ1d+pI/Iz85LMHJOZY4YOHdqZRSVJWmu02YKPiI+U
d6dFxI3A1RRhPAH4Yz0rj4iBFOF+ZWb+Vzn62YjYPDPnl13wC8rx84CtahYfVo6TJEmd1F4L/oPl
bRDwLPA+YCzFEfXrdbTiiAjgMuCRzPxuzaTrgGPK+8cAv6oZ//HyaPo9gBdruvIlSVIntNmCz8zj
urnuvYGjgT9HxIxy3OnAecDVEXE88Dfg8HLajcAHgNnAK0B3ty9J0lqrw4PsImJb4GRgeO38HV0u
NjPvBqKNyfu3Mn9SnBZXkiR1Uz1H0V9L0dX+a+D1xpYjSZJ6Qj0B/1pmXtjwSiRJUo+pJ+C/FxFn
ALcAf28e2XwSG0mS1P/UE/A7URwstx9vdNFnOSxJkvqhegJ+AvC22kvGSpKk/q2eM9n9BRjS6EIk
SVLPqacFPwR4NCL+yKr74Nv9mZwkSeo79QT8GQ2vQpIk9ah6rgd/R28UIkmSek49Z7JbwhtXfFsH
GAgszcy3NLIwSZLUdfW04Ac33y8vIHMosEcji5IkSd1Tz1H0K2XhWuDABtUjSZJ6QD1d9B+pGXwT
MAZ4rWEVSZKkbqvnKPoP1txfDjxJ0U0vSZL6qXr2wXtddkmS1jBtBnxEfK2d5TIzz2lAPZIkqQe0
14Jf2sq49YHjgU0AA16SpH6qzYDPzAua70fEYGAScBwwBbigreUkSVLfa3cffERsDJwKHAVMBnbJ
zBd6ozBJktR17e2DPx/4CHAJsFNmvtxrVUmSpG5p70Q3nwO2AL4CPB0RL5W3JRHxUu+UJ0mSuqK9
ffCdOsudJEnqPwxxSZIqyICXJKmCDHhJkirIgJckqYIMeEmSKsiAlySpggx4SZIqyICXJKmCDHhJ
kirIgJckqYIMeEmSKsiAlySpggx4SZIqyICXJKmCDHhJkirIgJckqYIMeEmSKsiAlySpggx4SZIq
yICXJKmCDHhJkirIgJckqYIMeEmSKsiAlySpggx4SZIqyICXJKmCDHhJkirIgJckqYIMeEmSKsiA
lySpggx4SZIqyICXJKmCBvR1AVo7xVnR1yWsFfKM7OsSJPURW/CSJFWQAS9JUgU1LOAj4icRsSAi
/lIzbuOI+E1EzCr/blSOj4i4MCJmR8SDEbFLo+qSJGlt0MgW/OXAQS3GnQbcmpnvAG4thwEOBt5R
3k4AftTAuiRJqryGBXxm3gk832L0ocDk8v5k4EM14/8zC38AhkTE5o2qTZKkquvtffBvzcz55f1n
gLeW97cE5tTMN7cct5qIOCEipkXEtIULFzauUkmS1mB9dpBdZibQ6d/wZOYlmTkmM8cMHTq0AZVJ
krTm6+2Af7a56738u6AcPw/Yqma+YeU4SZLUBb0d8NcBx5T3jwF+VTP+4+XR9HsAL9Z05UuSpE5q
2JnsIuLnwFhg04iYC5wBnAdcHRHHA38DDi9nvxH4ADAbeAU4rlF1SZK0NmhYwGfmkW1M2r+VeRP4
TKNqkSRpbeOZ7CRJqiADXpKkCjLgJUmqIANekqQKMuAlSaogA16SpAoy4CVJqqCG/Q5ekrokoq8r
WDuc2dcFqNFswUuSVEEGvCRJFWTAS5JUQQa8JEkVZMBLklRBBrwkSRVkwEuSVEEGvCRJFWTAS5JU
QQa8JEkVZMBLklRBBrwkSRVkwEuSVEEGvCRJFWTAS5JUQQa8JEkVZMBLklRBBrwkSRVkwEuSVEEG
vCRJFWTAS5JUQQa8JEkVZMBLklRBBrwkSRVkwEuSVEEGvCRJFWTAS5JUQQa8JEkVZMBLklRBBrwk
SRVkwEuSVEEGvCRJFWTAS5JUQQa8JEkVZMBLklRBBrwkSRVkwEuSVEEGvCRJFWTAS5JUQQa8JEkV
ZMBLklRBBrwkSRVkwEuSVEEGvCRJFWTAS5JUQQa8JEkVZMBLklRBBrwkSRVkwEuSVEH9KuAj4qCI
+GtEzI6I0/q6HkmS1lT9JuAjogn4AXAwsANwZETs0LdVSZK0Zuo3AQ+8B5idmY9n5j+AKcChfVyT
JElrpP4U8FsCc2qG55bjJElSJw3o6wI6KyJOAE4oB1+OiL/2ZT3qojP7uoAu2RR4rq+L6Iw4M/q6
BPVXZ/Z1AV3iZxC2qXfG/hTw84CtaoaHleNWkZmXAJf0VlFSs4iYlplj+roOaW3lZ7Bz+lMX/R+B
d0TEthGxDnAEcF0f1yRJ0hqp37TgM3N5RHwWuBloAn6SmQ/1cVmSJK2R+k3AA2TmjcCNfV2H1AZ3
DUl9y89gJ0Rm9nUNkiSph/WnffCSJKmHGPBSF0TE2Ii4vq/rkNYkEXFKRDwSEVc2aP1nRsS/NmLd
a6J+tQ9eklRpnwben5lz+7qQtYEteK21ImJ4RDwaEZdHxP9ExJUR8f6I+H1EzIqI95S3eyPiTxFx
T0S8q5X1rB8RP4mI+8v5PMWy1EJEXAy8DbgpIr7c2mcmIo6NiGsj4jcR8WREfDYiTi3n+UNEbFzO
98mI+GNEzIyIX0TEm1vZ3nYR8d8RMT0i7oqId/fuI+57BrzWdm8HLgDeXd4+CrwX+FfgdOBRYJ/M
3Bn4GvDNVtbxZeB3mfke4H8D50fE+r1Qu7TGyMyTgKcpPiPr0/ZnZkfgI8BuwDeAV8rP373Ax8t5
/iszd8vMUcAjwPGtbPIS4OTM3JXi8/zDxjyy/ssueq3tnsjMPwNExEPArZmZEfFnYDiwITA5It4B
JDCwlXUcAIyv2fc3CNia4h+PpNW19ZkBuC0zlwBLIuJF4Nfl+D8DI8v7O0bE14EhwAYU509ZKSI2
APYCrolYearYdRvxQPozA15ru7/X3H+9Zvh1is/HORT/cD4cEcOB21tZRwD/nJleF0GqT6ufmYjY
nY4/kwCXAx/KzJkRcSwwtsX63wQszszRPVv2msUueql9G/LGNRGObWOem4GTo2wqRMTOvVCXtCbr
7mdmMDA/IgYCR7WcmJkvAU9ExIRy/RERo7pZ8xrHgJfa923g3Ij4E233eJ1D0XX/YNnNf05vFSet
obr7mfkqcB/we4rjZFpzFHB8RMwEHgLWuoNfPZOdJEkVZAtekqQKMuAlSaogA16SpAoy4CVJqiAD
XpKkCjLgJbWqPF/4QxHxYETMKE9CImkN4ZnsJK0mIvYExgG7ZObfI2JTYJ0+LktSJ9iCl9SazYHn
MvPvAJn5XGY+HRG7RsQd5RW6bo6IzSNiQHllr7EAEXFuRHyjL4uX5IluJLWivFjH3cCbgd8CVwH3
AHcAh2bmwoiYCByYmf8nIkYAU4GTgfOB3TPzH31TvSSwi15SKzLz5YjYFdiH4nKeVwFfp7iU52/K
U4g3AfPL+R+KiJ8C1wN7Gu5S3zPgJbUqM1dQXD3v9vLyuZ8BHsrMPdtYZCdgMbBZ71QoqT3ug5e0
moh4V0S8o2bUaIrr2w8tD8AjIgaWXfNExEeAjYF9ge9HxJDerlnSqtwHL2k1Zff894EhwHJgNnAC
MAy4kOIyugOAfwd+SbF/fv/MnBMRpwC7ZuYxfVG7pIIBL0lSBdlFL0lSBRnwkiRVkAEvSVIFGfCS
JFWQAS9JUgUZ8JIkVZABL0lSBRnwkiRV0P8Hgwdhyvi4y6MAAAAASUVORK5CYII=
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>观察泰坦尼克号上乘客存活的数据统计，我们可以发现大部分男性乘客在船沉没的时候都遇难了。相反的，大部分女性乘客都在事故中<strong>生还</strong>。让我们以此改进先前的预测：如果乘客是男性，那么我们就预测他们遇难；如果乘客是女性，那么我们预测他们在事故中活了下来。</p>
<p>将下面的代码补充完整，让函数可以进行正确预测。</p>
<p><strong>提示</strong>：您可以用访问 dictionary（字典）的方法来访问船上乘客的每个特征对应的值。例如， <code>passenger['Sex']</code> 返回乘客的性别。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[8]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="k">def</span> <span class="nf">predictions_1</span><span class="p">(</span><span class="n">data</span><span class="p">):</span>
    <span class="sd">&quot;&quot;&quot; 只考虑一个特征，如果是女性则生还 &quot;&quot;&quot;</span>
    
    <span class="n">predictions</span> <span class="o">=</span> <span class="p">[]</span>
    <span class="k">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">passenger</span> <span class="ow">in</span> <span class="n">data</span><span class="o">.</span><span class="n">iterrows</span><span class="p">():</span>
        
        <span class="c1"># TODO 1</span>
        <span class="c1"># 移除下方的 &#39;pass&#39; 声明</span>
        <span class="c1"># 输入你自己的预测条件</span>
        <span class="k">if</span> <span class="n">passenger</span><span class="p">[</span><span class="s1">&#39;Sex&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;female&#39;</span><span class="p">:</span>
            <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
        <span class="k">else</span><span class="p">:</span>
            <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
            
    
    <span class="c1"># 返回预测结果</span>
    <span class="k">return</span> <span class="n">pd</span><span class="o">.</span><span class="n">Series</span><span class="p">(</span><span class="n">predictions</span><span class="p">)</span>

<span class="c1"># 进行预测</span>
<span class="n">predictions</span> <span class="o">=</span> <span class="n">predictions_1</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong>问题2</strong>：当我们预测船上女性乘客全部存活，而剩下的人全部遇难，那么我们预测的准确率会达到多少？</p>
<p><strong>回答</strong>: 78.68%</p>
<p><strong>提示</strong>：你需要在下面添加一个代码区域，实现代码并运行来计算准确率。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[9]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="k">print</span> <span class="n">accuracy_score</span><span class="p">(</span><span class="n">outcomes</span><span class="p">,</span> <span class="n">predictions</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>Predictions have an accuracy of 78.68%.
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="&#32771;&#34385;&#20004;&#20010;&#29305;&#24449;&#36827;&#34892;&#39044;&#27979;">&#32771;&#34385;&#20004;&#20010;&#29305;&#24449;&#36827;&#34892;&#39044;&#27979;<a class="anchor-link" href="#&#32771;&#34385;&#20004;&#20010;&#29305;&#24449;&#36827;&#34892;&#39044;&#27979;">&#182;</a></h3><p>仅仅使用乘客性别（Sex）这一特征，我们预测的准确性就有了明显的提高。现在再看一下使用额外的特征能否更进一步提升我们的预测准确度。例如，综合考虑所有在泰坦尼克号上的男性乘客：我们是否找到这些乘客中的一个子集，他们的存活概率较高。让我们再次使用 <code>survival_stats</code> 函数来看看每位男性乘客的年龄（Age）。这一次，我们将使用第四个参数来限定柱形图中只有男性乘客。</p>
<p>运行下面这段代码，把男性基于年龄的生存结果绘制出来。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[10]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">survival_stats</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">outcomes</span><span class="p">,</span> <span class="s1">&#39;Age&#39;</span><span class="p">,</span> <span class="p">[</span><span class="s2">&quot;Sex == &#39;male&#39;&quot;</span><span class="p">])</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>




<div class="output_png output_subarea ">
<img src="
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
HDmS6667bunwddddx8iRI7nzzjt54oknePDBB5kyZQqTJ0/mvvvuW/mbt5pM9pKkNcJ9993Hxz/+
cQCOOOIINt100zbnW3fddZeWoPfYYw+effZZAB544AE+9rGPATBq1Ch+97vfrXSb++67LyeeeCKX
XXYZb7755krn79GjB//yL/8CQM+ePTn88MP51a9+xZIlS7j11ls58sgjl5l/t912Y86cOfztb39j
6tSpbLrppmy33Xbceeed3Hnnney2227svvvuPPbYYzzxxBMr3f7q8pq9JKlTPf300/To0YMtt9yS
6dOnr/LyvXr1WtpSvUePHixZsmS1Y7n44ouZOHEit956K3vssQeTJ0+mZ8+eSxsQAsvc/ta7d+9l
rtMfd9xx/OhHP2KzzTZj6NChbLzxxstt45hjjuGGG27g+eefZ+TIkUBxH/0ZZ5zBmEa3oVgBk726
Ticd5F2mjoZL0tpm7ty5nHLKKXz+859f7tayAw44gKuvvpqzzjqL22+/nZdffnmV1r3PPvswfvx4
Ro0axVVXXcX+++8PwMYbb8zChQvbXOapp55ir732Yq+99uL2229nxowZ9O/fn4suuoi33nqLWbNm
8eCDD65wmwceeCCf+MQnuOyyy5arwm8xcuRIPv3pT/Piiy9y7733AnDYYYdx9tlnc8IJJ7DRRhsx
a9YsevXqxZZbbrlK+1wvk70kqalef/11hgwZwuLFi+nZsyejRo3iS1/60nLznXPOORx//PEMHDiQ
ffbZh+23336VtvPDH/6Qk046ifPPP5++ffvy85//HChK35/+9Kf5wQ9+wA033LDMdfsvf/nLPPHE
E2QmhxxyCIMHDwZgwIAB7Lzzzuy0007svvvuK9xmjx49GD58OFdccQXjxo1rc56BAweycOFCtt12
W7beemsADj30UKZPn87ee+8NFA3/rrzyyqYl+1hRa8fuYOjQoWl/9t2YJXup6aZPn85OO+3U1WFo
NbX1+UXE5MxcpfsVbaAnSVLFNS3ZR8TPImJORDxSM+78iHgsIh6OiF9GRJ+aaWdExJMR8XhEHNas
uCRJWts0s2R/BXB4q3G/AXbJzEHA/wJnAETEzsBxwMBymYsiou3HEkmSpFXStGSfmfcBL7Uad2dm
ttwj8UegX/n6SGB8Zv49M58BngTe36zYJElam3TlNftPALeXr7cFZtRMm1mOkyRJHdQlyT4ivgos
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
VHH/P+VriMZB2iSiAAAAAElFTkSuQmCC
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>仔细观察泰坦尼克号存活的数据统计，在船沉没的时候，大部分小于10岁的男孩都活着，而大多数10岁以上的男性都随着船的沉没而<strong>遇难</strong>。让我们继续在先前预测的基础上构建：如果乘客是女性，那么我们就预测她们全部存活；如果乘客是男性并且小于10岁，我们也会预测他们全部存活；所有其它我们就预测他们都没有幸存。</p>
<p>将下面缺失的代码补充完整，让我们的函数可以实现预测。<br>
<strong>提示</strong>: 您可以用之前 <code>predictions_1</code> 的代码作为开始来修改代码，实现新的预测函数。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[11]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="k">def</span> <span class="nf">predictions_2</span><span class="p">(</span><span class="n">data</span><span class="p">):</span>
    <span class="sd">&quot;&quot;&quot; 考虑两个特征: </span>
<span class="sd">            - 如果是女性则生还</span>
<span class="sd">            - 如果是男性并且小于10岁则生还 &quot;&quot;&quot;</span>
    
    <span class="n">predictions</span> <span class="o">=</span> <span class="p">[]</span>
    <span class="k">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">passenger</span> <span class="ow">in</span> <span class="n">data</span><span class="o">.</span><span class="n">iterrows</span><span class="p">():</span>
        
        <span class="c1"># TODO 2</span>
        <span class="c1"># 移除下方的 &#39;pass&#39; 声明</span>
        <span class="c1"># 输入你自己的预测条件</span>
        <span class="k">if</span> <span class="n">passenger</span><span class="p">[</span><span class="s1">&#39;Sex&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;female&#39;</span><span class="p">:</span>
            <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
        <span class="k">elif</span> <span class="n">passenger</span><span class="p">[</span><span class="s1">&#39;Age&#39;</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mi">10</span><span class="p">:</span>
            <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
        <span class="k">else</span><span class="p">:</span>
            <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
    
    <span class="c1"># 返回预测结果</span>
    <span class="k">return</span> <span class="n">pd</span><span class="o">.</span><span class="n">Series</span><span class="p">(</span><span class="n">predictions</span><span class="p">)</span>

<span class="c1"># 进行预测</span>
<span class="n">predictions</span> <span class="o">=</span> <span class="n">predictions_2</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong>问题3</strong>：当预测所有女性以及小于10岁的男性都存活的时候，预测的准确率会达到多少？</p>
<p><strong>回答</strong>: 79.35%</p>
<p><strong>提示</strong>：你需要在下面添加一个代码区域，实现代码并运行来计算准确率。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[12]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="k">print</span> <span class="n">accuracy_score</span><span class="p">(</span><span class="n">outcomes</span><span class="p">,</span> <span class="n">predictions</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>Predictions have an accuracy of 79.35%.
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="&#20320;&#33258;&#24049;&#30340;&#39044;&#27979;&#27169;&#22411;">&#20320;&#33258;&#24049;&#30340;&#39044;&#27979;&#27169;&#22411;<a class="anchor-link" href="#&#20320;&#33258;&#24049;&#30340;&#39044;&#27979;&#27169;&#22411;">&#182;</a></h3><p>添加年龄（Age）特征与性别（Sex）的结合比单独使用性别（Sex）也提高了不少准确度。现在该你来做预测了：找到一系列的特征和条件来对数据进行划分，使得预测结果提高到80%以上。这可能需要多个特性和多个层次的条件语句才会成功。你可以在不同的条件下多次使用相同的特征。<strong>Pclass</strong>，<strong>Sex</strong>，<strong>Age</strong>，<strong>SibSp</strong> 和 <strong>Parch</strong> 是建议尝试使用的特征。</p>
<p>使用 <code>survival_stats</code> 函数来观测泰坦尼克号上乘客存活的数据统计。<br>
<strong>提示:</strong> 要使用多个过滤条件，把每一个条件放在一个列表里作为最后一个参数传递进去。例如: <code>["Sex == 'male'", "Age &lt; 18"]</code></p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[13]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">survival_stats</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">outcomes</span><span class="p">,</span> <span class="s1">&#39;Age&#39;</span><span class="p">,</span> <span class="p">[</span><span class="s2">&quot;Sex == &#39;male&#39;&quot;</span><span class="p">,</span> <span class="s2">&quot;Age &lt; 18&quot;</span><span class="p">])</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>




<div class="output_png output_subarea ">
<img src="
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
O+9k5cqVAFx99dUcd9xxrxp+ypQpXHPNNWtfX3PNNUyZMoXZs2ezcOFC7rrrLubPn8+8efOYM2dO
12+eJKnPGfL9YM6cObzvfe8D4Oijj2bkyJHtDrfhhhuu3WPee++9eeyxxwC44447eO973wvA1KlT
+c1vftPlPA888EDe//73c+mll7JmzZouh29paeFf/uVfABgyZAhHHnkkP/3pT1m9ejU33ngjxxxz
zKuG33PPPVm2bBl//vOfWbBgASNHjmTHHXdk9uzZzJ49mz333JO99tqLBx98kIULF3Y5f0lS36vO
OfkB4JFHHqGlpYWtt96aBx54oNvjDx06dG3L85aWFlavXt3jWi6++GLuvPNObrzxRvbee2/mzZvH
kCFD1jYMBF71M7Zhw4a96jz8cccdx7e//W0233xzxo8fzyabbLLOPCZPnsx1113HE088wZQpU4Di
d/Cf+tSnOLmv20hIkrrNkO8jTz31FKeccgqnnXbaOj8RO+SQQ7jqqqs4++yzufnmm3n22We7Ne0D
DjiAmTNnMnXqVK688koOPvhgADbZZBNWrFjR7jgPP/ww++67L/vuuy8333wzixYtYtSoUVx00UW8
8sorLFmyhLvuuqvDeb71rW/lAx/4AJdeeuk6h+pbTZkyhQ9/+MM8/fTT3HbbbQAcccQRnHPOOZxw
wgmMGDGCJUuWMHToULbeeutuLbMGCP9ZkwY1Q74XXnrpJcaNG8eqVasYMmQIU6dO5eMf//g6w517
7rkcf/zxjB49mgMOOIDXv/713ZrPt771LU488UQuuOACttpqK/7zP/8TKPa2P/zhD/PNb36T6667
7lXn5c844wwWLlxIZnLYYYcxduxYAHbeeWd23313dtttN/baa68O59nS0sLEiRO57LLLuPzyy9sd
ZvTo0axYsYLtt9+ebbfdFoDDDz+cBx54gP333x8oGvRdccUVhrwkNUF01NJ7IBk/fny2vZ/8Aw88
wG677dakitRbrr9Bwj15qSlixox5mdnr32Hb8E6SpIoy5CVJqihDXpKkijLkJUmqKENekqSKMuQl
SaooQ76XPv/5zzN69GjGjBnDuHHjuPPOO3s9zVmzZvGlL32pD6orfqcuSVo/VeZiOCf/tG9/z3vJ
O7q+1ewdd9zBDTfcwN13381GG23E008/zd/+9re6pr969WqGDGn/7Z80aRKTJk3qVr2SJLXlnnwv
LF26lC233JKNNtoIgC233JLttttu7e1YAebOncuECROA4nasU6dO5cADD2Tq1Knst99+3HfffWun
N2HCBObOnbv2lrDPP/88O+2009rrza9cuZIdd9yRVatW8fDDD3PkkUey9957c/DBB/Pggw8C8Oij
j7L//vuzxx57cPbZZ/fjuyFJGmgM+V44/PDDWbRoEW984xs59dRT116/vTP3338/v/jFL/jBD37w
qtu1Ll26lKVLlzJ+/N8vcLTpppsybty4tdO94YYbOOKIIxg6dCgnnXQS3/rWt5g3bx5f/epXOfXU
UwGYPn06H/nIR/jDH/6w9lKzkqT1kyHfCyNGjGDevHnMmDGDrbbaiilTpnDZZZd1Os6kSZMYPnw4
AO95z3u47rrrgOJ+7Mcee+w6w0+ZMoWrr74agJkzZzJlyhRefPFFbr/9diZPnsy4ceM4+eSTWbp0
KQC//e1vOf7444HitrSSpPVXZc7JN0tLSwsTJkxgwoQJ7LHHHlx++eWvuqVr7e1cATbeeOO1z7ff
fnu22GIL7rnnHq6++mouvvjidaY/adIkzjrrLJ555hnmzZvHoYceysqVK9lss82YP39+uzW1vQue
JGn95J58L/zxj39k4cKFa1/Pnz+fnXbaiVGjRjFv3jwAfvjDH3Y6jSlTpvCVr3yF559/njFjxqzT
f8SIEeyzzz5Mnz6diRMn0tLSwmtf+1p23nlnrr32WqC4h/uCBQsAOPDAA5k5cyYAV155ZZ8spyRp
cDLke+HFF19k2rRp7L777owZM4b777+f8847j3PPPZfp06czfvx4WlpaOp3Gsccey8yZM3nPe97T
4TBTpkzhiiuuYMqUKWu7XXnllXz3u99l7NixjB49mp/85CcAfOMb3+DCCy9kjz32YMmSJX2zoJKk
QclbzaopXH+DhLealZrCW81KkqROGfKSJFWUIS9JUkUN6pAfDO0JtC7XmyT1j0Eb8sOGDWP58uUG
xiCTmSxfvpxhw4Y1uxRJqrxBezGcHXbYgcWLF/PUU081uxR107Bhw9hhhx2aXYYkVd6gDfmhQ4ey
8847N7sMSZIGrIYdro+IHSPiVxFxf0TcFxHTy+6bR8TPI2Jh+Xdko2qQJGl91shz8quBT2Tm7sB+
wEcjYnfgTOCXmfkG4Jfla0mS1McaFvKZuTQz7y6frwAeALYHjgEuLwe7HHhno2qQJGl91i+t6yNi
FLAncCewTWYuLXs9AWzTwTgnRcTciJhr4zpJkrqv4SEfESOAHwL/lpkv1PbL4vdv7f4GLjNnZOb4
zBy/1VZbNbpMSZIqp6EhHxFDKQL+ysz8Udn5yYjYtuy/LbCskTVIkrS+amTr+gC+CzyQmV+v6TUL
mFY+nwb8pFE1SJK0Pmvk7+QPBKYCf4iI+WW3s4AvAddExAeBPwEd30hdkiT1WMNCPjN/A0QHvQ9r
1HwlSVJh0F67XpIkdc6QlySpogx5SZIqypCXJKmiDHlJkirKkJckqaIMeUmSKsqQlySpogx5SZIq
qpGXte0zf3r+T5z805ObXYa03rmk2QVI6hX35CVJqihDXpKkijLkJUmqKENekqSKMuQlSaooQ16S
pIoy5CVJqihDXpKkijLkJUmqKENekqSKMuQlSaooQ16SpIoy5CVJqihDXpKkijLkJUmqKENekqSK
MuQlSaooQ16SpIoy5CVJqihDXpKkijLkJUmqKENekqSKMuQlSaooQ16SpIoy5CVJqihDXpKkijLk
JUmqKENekqSKMuQlSaooQ16SpIoy5CVJqihDXpKkijLkJUmqKENekqSKMuQlSaooQ16SpIoy5CVJ
qihDXpKkijLkJUmqKENekqSKMuQlSaooQ16SpIoy5CVJqihDXpKkijLkJUmqKENekqSKMuQlSaoo
Q16SpIoy5CVJqqguQz4iNo6IDcrnb4yISRExtPGlSZKk3qhnT34OMCwitgdmA1OByxpZlCRJ6r16
Qj4y8y/Au4GLMnMyMLqxZUmSpN6qK+QjYn/gBODGsltLHSN9LyKWRcS9Nd3Oi4glETG/fBzVs7Il
SVJX6gn56cCngB9n5n0RsQvwqzrGuww4sp3u/19mjisfN9VfqiRJ6o4hnfWMiBZgUmZOau2WmY8A
p3c14cycExGjelugJEnqmU735DNzDXBQH8/ztIi4pzycP7KjgSLipIiYGxFzX37+5T4uQZKk6qvn
cP3vI2JWREyNiHe3Pno4v+8AuwLjgKXA1zoaMDNnZOb4zBw/bNNhPZydJEnrr04P15eGAcuBQ2u6
JfCj7s4sM59sfR4RlwI3dHcakiSpPl2GfGae2Fczi4htM3Np+fJdwL2dDS9JknqunivevTEiftn6
U7iIGBMRZ9cx3g+AO4A3RcTiiPgg8JWI+ENE3AP8E/C/elm/JEnqQD2H6y8FzgAuAcjMeyLiKuA/
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
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>当查看和研究了图形化的泰坦尼克号上乘客的数据统计后，请补全下面这段代码中缺失的部分，使得函数可以返回你的预测。<br>
在到达最终的预测模型前请确保记录你尝试过的各种特征和条件。<br>
<strong>提示:</strong> 您可以用之前 <code>predictions_2</code> 的代码作为开始来修改代码，实现新的预测函数。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h1 id="PClass">PClass<a class="anchor-link" href="#PClass">&#182;</a></h1><p>根据提示，看看Pclass对存活率的影响。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[14]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">survival_stats</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">outcomes</span><span class="p">,</span> <span class="s1">&#39;Pclass&#39;</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>




<div class="output_png output_subarea ">
<img src="
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
vBCAz372sxxzzDHce++9HH300ZxyyinsvvvujB8/nnPOOYcZM2awxRZbvKmur3/96/z+979n5syZ
TJkypcPYly5dyi677MLMmTM59dRTmTp1KkuXLgXgiiuu4Mgjj3zT+hMmTODKK69cMX/llVcyYcIE
brrpJh566CHuvvtuZsyYwfTp07n99ts7fvEkSV1igu9Dt99+Ox/72McAOOigg1hvvfXaXG/NNddc
0VLecccdefzxxwG48847+ehHPwrAxIkTueOOOzrc5x577MGxxx7LhRdeyPLlyztcv6mpiX/7t38D
YMCAARxwwAH85je/4bXXXuOGG27gkEMOedP622+/PQsWLODJJ59k5syZrLfeeowcOZKbbrqJm266
ie23354ddtiBBx54gIceeqjD/UuSuqb6x+BXAY8++ihNTU1suOGG3H///Z3efuDAgStGmDc1NfHa
a691OZbzzz+fqVOncsMNN7Djjjsyffp0BgwYsGIQIPCmU9UGDRr0puPuRx55JD/60Y9Yf/31aW5u
ZvDgwW/Zx+GHH87VV1/NU089xYQJE4DiPPfTTjuNE088scuxS5LqZwu+wRYuXMhJJ53EySef/JbT
wPbee28uu+wyAH7729/y3HPPdaru3XffncmTJwNw6aWXstdeewEwePBgFi9e3OY2jzzyCLvssgtf
//rXGTZsGHPmzGHUqFHMmDGD119/nTlz5nD33XevdJ/ve9/7uOeee7jwwgvf0j3fYsKECUyePJmr
r756xTH7/fffn5///OcsWbIEgHnz5r3lkIUkioHBq8NDDWcLvgFefvllxo4dy7JlyxgwYAATJ07k
c5/73FvWO+OMMzjqqKMYPXo0u+++O5tuummn9vPDH/6Q4447jnPOOYdhw4bxi1/8Aiha2ccffzzn
nXceV1999ZuOw3/hC1/goYceIjPZd999GTNmDACbb745W2+9NVtttRU77LDDSvfZ1NTEwQcfzMUX
X8wll1zS5jqjR49m8eLFbLLJJgwfPhyA/fbbj/vvv5/ddtsNKAbv/epXv2LDDTfs1HOWJNUnVjZy
uz9obm7O1veDv//++9lqq636KCJ1l/8/rfZWl9ZtP849fS0ipmdmh+db20UvSVIFmeAlSaogE7wk
SRVkgpckqYJM8JIkVZAJXpKkCjLBN8jZZ5/N6NGj2W677Rg7dixTp07tdp1Tpkzh29/+dg9EV5yH
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
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>可以看到底层阶级乘客， 不存活率很高。</p>
<p>中上层乘客存活率高一些，</p>
<p>再加上性别的筛选看看。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[15]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">survival_stats</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">outcomes</span><span class="p">,</span> <span class="s1">&#39;Pclass&#39;</span><span class="p">,</span> <span class="p">[</span><span class="s2">&quot;Sex == &#39;female&#39;&quot;</span><span class="p">])</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>




<div class="output_png output_subarea ">
<img src="
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
c5/j2GOP5cEHH+SYY47h1FNPZa+99mL8+PGcd955zJ49m/e9731vWdbXvvY1fvGLXzBnzhxuuumm
dmtfuXIlu+++O3PmzOH0009nxowZrFy5EoCrr76ao4466i3TT5w4kWuuuWbN8DXXXMPEiRO5/fbb
mT9/Pvfffz+zZ89m1qxZ3HPPPe2/eB1giEuSusw999zDJz/5SQAOPfRQNt100xan23DDDde0eHfd
dVeefPJJAO677z4+8YlPADBp0iR+85vftLvOvffem+OOO45LL72U1atXtzt9Q0MD//iP/whAr169
OPjgg/nZz37G66+/zi233MJhhx32lul33nlnnnvuOZ5++mnmzJnDpptuyjbbbMPtt9/O7bffzs47
78wuu+zCww8/zPz589tdf0e4T1yStM49/vjjNDQ0sMUWWzBv3rwOz9+7d+81PbcbGhp4/fXX17qW
iy++mBkzZnDLLbew6667MmvWLHr16rWm4x3wlsO8+vTp85b94EcddRQXXnghm222GaNHj6Z///5v
W8eECRO47rrreOaZZ5g4cSJQHAf+5S9/mZNOOmmta2+PIb4ei3N6xiEnOaX9TjeSus6SJUs4+eST
OeWUU952CNWYMWO48sorOfPMM7ntttt44YUXOrTsvfbai+nTpzNp0iSmTZvGvvvuC0D//v1ZsWJF
i/M89thj7L777uy+++7cdtttLFiwgKFDh3LRRRfxxhtvsGjRIu6///5W17nffvvxz//8z1x66aVv
25TeaOLEiZxwwgksXbqUu+++G4CDDjqIs846i2OOOYZ+/fqxaNEievfuzRZbbNGh59wWQ1yS1Gmv
vPIKo0aNYtWqVfTq1YtJkyZx2mmnvW26KVOmcPTRRzN8+HD22msvtt122w6t5wc/+AHHH3885513
HoMGDeLHP/4xULSWTzjhBC644AKuu+66t+wX/8IXvsD8+fPJTA444ABGjhwJwLBhw9hhhx3Yfvvt
2WWXXVpdZ0NDA+PGjePyyy9n6tSpLU4zfPhwVqxYwdZbb82WW24JwIEHHsi8efPYc889gaLD3BVX
XLFOQzxa6xn4TjJ69Oj0euIdZ0tc6hnmzZvH9ttv391laC219P5FxKzMbPe4PDu2SZJUUYa4JEkV
ZYhLklRRhrgkSRVliEuSVFGGuCRJFWWIS5LWiW984xsMHz6cESNGMGrUKGbMmNHpZd50002ce+65
66C64jjt9Y0ne5Gk9cy6PkdELediuO+++7j55pt54IEH2GijjVi6dCmvvfZaTct//fXX6dWr5Tga
P34848eP71C9PYktcUlSpy1evJjNN9+cjTbaCIDNN9+crbbaas3lOgFmzpzJ2LFjgeJynZMmTWLv
vfdm0qRJ7LHHHjz00ENrljd27Fhmzpy55pKhL774IkOGDFlzvvOVK1eyzTbbsGrVKh577DEOPvhg
dt11V/bdd18efvhhAJ544gn23HNPdtppJ84888wufDW6jiEuSeq0Aw88kAULFvDBD36Qz372s2vO
H96WuXPn8qtf/YqrrrrqLZfzXLx4MYsXL2b06DdPWPbud7+bUaNGrVnuzTffzEEHHUTv3r058cQT
+cEPfsCsWbM4//zz+exnPwvA5MmT+cxnPsOf/vSnNadCXd8Y4pKkTuvXrx+zZs3ikksuYdCgQUyc
OJHLL7+8zXnGjx9P3759ATjyyCO57rrrgOJ63EccccTbpp84cSJXX301ANOnT2fixIm8/PLL/O53
v2PChAmMGjWKk046icWLFwPw29/+lqOPPhooLlu6PnKfuCRpnWhoaGDs2LGMHTuWnXbaialTp77l
kp9NL/cJsMkmm6y5v/XWWzNw4EAefPBBrr76ai6++OK3LX/8+PGcccYZPP/888yaNYv999+flStX
MmDAAGbPnt1iTc2vora+sSUuSeq0Rx55hPnz568Znj17NkOGDGHo0KHMmjULgOuvv77NZUycOJHv
fOc7vPjii4wYMeJtj/fr14/ddtuNyZMnM27cOBoaGnjXu97FsGHDuPbaa4HiGt5z5swBYO+992b6
9OkATJs2bZ08z3caQ1yS1Gkvv/wyxx57LDvssAMjRoxg7ty5nH322UyZMoXJkyczevRoGhoa2lzG
EUccwfTp0znyyCNbnWbixIlcccUVTJw4cc24adOmcdlllzFy5EiGDx/OjTfeCMD3v/99fvjDH7LT
TjuxaNGidfNE32G8FOl6zEuRSj2DlyKtNi9FKklSD2SIS5JUUYa4JEkVZYhL0nqgCv2b9Hadfd8M
cUmquD59+rBs2TKDvGIyk2XLltGnT5+1XoYne5Gkihs8eDALFy5kyZIl3V2KOqhPnz4MHjx4rec3
xCWp4nr37s2wYcO6uwx1AzenS5JUUYa4JEkVZYhLklRRhrgkSRVliEuSVFGGuCRJFWWIS5JUUYa4
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
MAn4U0TMLsedAZwLXBMRnwL+AhxZxxokSVpv1S3EM/M3QLTy8AH1Wq8kST2FZ2yTJKmiDHFJkirK
EJckqaIMcUmSKsoQlySpogxxSZIqyhCXJKmiDHFJkirKEJckqaIMcUmSKsoQlySpogxxSZIqyhCX
JKmiDHFJkirKEJckqaIMcUmSKsoQlySpogxxSZIqyhCXJKmiDHFJkirKEJckqaIMcUmSKsoQlySp
ogxxSZIqyhCXJKmiDHFJkirKEJckqaIMcUmSKsoQlySpogxxSZIqyhCXJKmiDHFJkirKEJckqaIM
cUmSKsoQlySpogxxSZIqyhCXJKmiDHFJkirKEJckqaIMcUmSKsoQlySpogxxSZIqyhCX1kZEz7hJ
ekczxCVJqihDXJKkijLEJUmqKENckqSKMsQlSaooQ1ySpIoyxCVJqihDXJKkijLEJUmqKENckqSK
6pkh3t2nsvSUmZKkdaBnhrgkSesBQ1ySpIoyxCVJqihDXJKkijLEJUmqqG4J8Yg4OCIeiYhHI+L0
7qhBkqSq6/IQj4gG4IfAR4AdgKMjYoeurkOSpKrrjpb4h4BHM/PxzHwNmA4c1g11SJJUad0R4lsD
C5oMLyzHSZKkDojM7NoVRhwBHJyZny6HJwG7Z+YpzaY7ETixHNwOeKRLC9Xa2hxY2t1FqNL8DKmz
1ofP0JDMHNTeRL26opJmFgHbNBkeXI57i8y8BLikq4rSuhERMzNzdHfXoeryM6TO6kmfoe7YnP4H
4AMRMSwiNgSOAm7qhjokSaq0Lm+JZ+brEXEK8AugAfi/mflQV9chSVLVdcfmdDLzVuDW7li36s5d
IOosP0PqrB7zGeryjm2SJGnd8LSrkiRVlCGudSIi/m9EPBcRf+7uWlRNEbFNRNwZEXMj4qGImNzd
NalaIqJPRNwfEXPKz9A53V1Tvbk5XetERIwBXgb+X2bu2N31qHoiYktgy8x8ICL6A7OAwzNzbjeX
poqIiAA2ycyXI6I38Btgcmb+vptLqxtb4lonMvMe4PnurkPVlZmLM/OB8v4KYB6ezVEdkIWXy8He
5W29bqka4pLecSJiKLAzMKN7K1HVRERDRMwGngN+mZnr9WfIEJf0jhIR/YDrgX/NzJe6ux5VS2au
zsxRFGcD/VBErNe79wxxSe8Y5X7M64FpmfmT7q5H1ZWZy4E7gYO7u5Z6MsQlvSOUnZIuA+Zl5ve6
ux5VT0QMiogB5f2+wD8AD3dvVfVliGudiIirgPuA7SJiYUR8qrtrUuXsDUwC9o+I2eXtkO4uSpWy
JXBnRDxIcZ2OX2bmzd1cU115iJkkSRVlS1ySpIoyxCVJqihDXJKkijLEJUmqKENckqSKMsSlHiAi
VpeHbP05Iq6NiI3bmPbsiPg/XVmfpLVjiEs9wyuZOaq8wtxrwMndXZCkzjPEpZ7nXuD9ABHxTxHx
YHn95f9uPmFEnBARfygfv76xBR8RE8pW/ZyIuKccN7y8lvPscpkf6NJnJfVAnuxF6gEi4uXM7BcR
vSjOTf5z4B7gp8Bembk0IjbLzOcj4mzg5cw8PyIGZuaychn/BjybmT+IiD8BB2fmoogYkJnLI+IH
wO8zc1pEbAg0ZOYr3fKEpR7ClrjUM/QtL884E3iK4hzl+wPXZuZSgMxs6XrwO0bEvWVoHwMML8f/
Frg8Ik4AGspx9wFnRMSXgCEGuFR/vbq7AEld4pXy8oxrFNcbadflwOGZOScijgPGAmTmyRGxO3Ao
MCsids3MKyNiRjnu1og4KTN/vQ6fg6RmbIlLPdevgQkRMRAgIjZrYZr+wOLyEqHHNI6MiPdl5ozM
/CqwBNgmIt4LPJ6ZFwA3AiPq/gykHs6WuNRDZeZDEfEN4O6IWA38ETiu2WRnATMognoGRagDnFd2
XAvgDmAO8CVgUkSsAp4Bvln3JyH1cHZskySpotycLklSRRnikiRVlCEuSVJFGeKSJFWUIS5JUkUZ
4pIkVZQhLklSRRnikiRV1P8H84UaPXvORocAAAAASUVORK5CYII=
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>中上层女性几乎都存活了，可以作为一个决策条件。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[16]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="k">def</span> <span class="nf">predictions_tmp</span><span class="p">(</span><span class="n">data</span><span class="p">):</span>
    <span class="sd">&quot;&quot;&quot; 考虑三个特征: </span>
<span class="sd">            - 如果是女性并处于中上阶级则生还</span>
<span class="sd">            - 如果是男性并且小于10岁则生还 &quot;&quot;&quot;</span>
    
    <span class="n">predictions</span> <span class="o">=</span> <span class="p">[]</span>
    <span class="k">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">passenger</span> <span class="ow">in</span> <span class="n">data</span><span class="o">.</span><span class="n">iterrows</span><span class="p">():</span>
        
        <span class="c1"># TODO 3</span>
        <span class="c1"># 移除下方的 &#39;pass&#39; 声明</span>
        <span class="c1"># 输入你自己的预测条件</span>
        <span class="k">if</span> <span class="n">passenger</span><span class="p">[</span><span class="s1">&#39;Sex&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;female&#39;</span><span class="p">:</span>
            <span class="k">if</span> <span class="n">passenger</span><span class="p">[</span><span class="s1">&#39;Pclass&#39;</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mi">3</span><span class="p">:</span>
                <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
            <span class="k">else</span><span class="p">:</span>
                <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
        <span class="k">elif</span> <span class="n">passenger</span><span class="p">[</span><span class="s1">&#39;Age&#39;</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mi">10</span><span class="p">:</span>
            <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
        <span class="k">else</span><span class="p">:</span>
            <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
    
    <span class="c1"># 返回预测结果</span>
    <span class="k">return</span> <span class="n">pd</span><span class="o">.</span><span class="n">Series</span><span class="p">(</span><span class="n">predictions</span><span class="p">)</span>

<span class="c1"># 进行预测</span>
<span class="n">predictions</span> <span class="o">=</span> <span class="n">predictions_tmp</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[17]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="k">print</span> <span class="n">accuracy_score</span><span class="p">(</span><span class="n">outcomes</span><span class="p">,</span> <span class="n">predictions</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>Predictions have an accuracy of 79.35%.
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>神奇的是准确率没有变化。。。</p>
<p>分析原因，应该是由于底层阶级的也有一半女性存活了，直接判定她们没有存活，就不准确了。</p>
<p>看看在底层阶级的女性中，还有什么决定了她们的存活几率。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h1 id="&#24213;&#23618;&#38454;&#32423;&#30340;&#22899;&#24615;">&#24213;&#23618;&#38454;&#32423;&#30340;&#22899;&#24615;<a class="anchor-link" href="#&#24213;&#23618;&#38454;&#32423;&#30340;&#22899;&#24615;">&#182;</a></h1>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[18]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">survival_stats</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">outcomes</span><span class="p">,</span> <span class="s1">&#39;Parch&#39;</span><span class="p">,</span> <span class="p">[</span><span class="s2">&quot;Sex == &#39;female&#39;&quot;</span><span class="p">,</span> <span class="s2">&quot;Pclass == 3&quot;</span><span class="p">])</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>




<div class="output_png output_subarea ">
<img src="
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
C2152GfmA8C5FK/vUxSbhX9f5/ospti/Pgd4HrgMOCcz2zbVXwLsWG62vKaOZf2aomX7ZEQ83cHy
Ovs8QHGA2hnlsv65g2knUBwb8SDF/ux/qmOeHZlGsYWktu7fUnwGuwrx8yi2hCyOiO90Md6q+i+K
407mAQ/wxg+qrvwzcC9wN8Wm5a/T2P/BX6DYhXFHucn8VxStbygOxBtM8f26g2JTe62OXsfjgc9R
/HAZCXTZos7Mn1Ks45Ry+fdRHNuh1ajtiFOpaSLikxQH8byn2bVIUpXYElevi4gtI2KfKM493p5i
/9xPm12XJFWNV9VRM6xNcV75CIpN3lMoToeTJPWAm9MlSaooN6dLklRRhrgkSRVViX3im222WQ4f
PrzZZUiS1CtmzJjxdGa2vxDVm1QixIcPH8706dObXYYkSb0iIv5Sz3huTpckqaIMcUmSKsoQlySp
oiqxT1yS1LlXX32VuXPn8vLLnd3cTWuqQYMGMWzYMAYOHLhS0xviklRxc+fOZciQIQwfPpziRnGq
gsxk0aJFzJ07lxEjRqzUPNycLkkV9/LLL7Ppppsa4BUTEWy66aartAXFEJekPsAAr6ZVfd8McUnS
KmtpaWH06NGMHDmSUaNGce655/L6668DMH36dE455ZQOpxs+fDhPP93Rbe175pprruGBBx5Y5fn0
xPvf/36effbZXl1me+4Tl6S+ZnW3yuu4UdbgwYOZOXMmAAsWLOAjH/kIzz//PGeddRatra20trau
3praueaaaxg7diw77rjjap3vsmXLaGlp6fC5G2+8cbUua2XYEpckrVabb745F110Eeeffz6ZyW23
3cbYsWMBWLRoEQceeCAjR47kE5/4BJ3dSXP99dfnX/7lXxg1ahR77rknTz31FACPPfYY+++/Pzvv
vDMHHHAAjz/+OH/4wx+47rrr+NznPsfo0aN55JFHVpjXVVddxTvf+U5GjRrFfvvtB8Cll17KySef
vHycsWPHctttty1f9mc/+1lGjRrF1772NQ4//PDl49WuS9tWhNNOO40LLrhg+Thnnnkm3/zmNwE4
55xz2H333dl5552ZNGnSqrysHWpoiEfEYxFxb0TMjIjp5bBNIuKXETGn/LtxI2uQJPW+t7zlLSxb
towFCxasMPyss87i3e9+N/fffz8f+tCHePzxxzucfunSpey5557MmjWL/fbbj4svvhiAz3zmMxxz
zDHcc889HH300ZxyyinsvffejBs3jnPOOYeZM2fy1re+dYV5ffnLX+YXv/gFs2bN4rrrruu29qVL
l7LHHnswa9YsTjvtNO68806WLl0KwBVXXMGRRx65wvjjx4/nyiuvXN5/5ZVXMn78eG6++WbmzJnD
XXfdxcyZM5kxYwbTpk3r/sXrgd5oif99Zo7OzLZtKacBt2Tm24Fbyn5JUj8wbdo0PvrRjwJwyCGH
sPHGHbfj1l577eUt3t12243HHnsMgNtvv52PfOQjAEyYMIHf/e533S5zn3324dhjj+Xiiy9m2bJl
3Y7f0tLCP/7jPwIwYMAADj74YH72s5/x2muvccMNN3DooYeuMP4uu+zCggUL+Otf/8qsWbPYeOON
2Wabbbj55pu5+eab2WWXXdh111158MEHmTNnTrfL74lm7BM/FBhTdk8GbgO+0IQ6JEkN8uijj9LS
0sLmm2/O7Nmzezz9wIEDlx+53dLSwmuvvbbStVx44YXceeed3HDDDey2227MmDGDAQMGLD/wDljh
NK9BgwatsB/8yCOP5Pzzz2eTTTahtbWVIUOGvGkZhx9+OFOnTuXJJ59k/PjxQHEe+Be/+EVOPPHE
la69O40O8QRujogEfpCZFwFbZOb88vkngS06mjAiTgBOANh2220bXObqFWc19lSPnNT9QSaS1CwL
Fy7kpJNO4uSTT37TKVT77bcfP/7xjznjjDO46aabWLx4cY/mvffeezNlyhQmTJjA5Zdfzr777gvA
kCFDWLJkSYfTPPLII+yxxx7sscce3HTTTTzxxBMMHz6c733ve7z++uvMmzePu+66q9Nlvuc97+Fj
H/sYF1988Zs2pbcZP348xx9/PE8//TS/+c1vADjooIP40pe+xNFHH83666/PvHnzGDhwIJtvvnmP
1rkrjQ7xd2fmvIjYHPhlRDxY+2RmZhnwb1IG/kUAra2tppYkrcFeeuklRo8ezauvvsqAAQOYMGEC
p5566pvGmzRpEkcddRQjR45k77337nEj7bvf/S7HHXcc55xzDkOHDuVHP/oRULSWjz/+eL7zne8w
derUFfaLf+5zn2POnDlkJgcccACjRo0CYMSIEey4447ssMMO7Lrrrp0us6WlhbFjx3LppZcyefLk
DscZOXIkS5YsYeutt2bLLbcE4MADD2T27NnstddeQHHA3GWXXbZaQzw6OzJwdYuIM4EXgOOBMZk5
PyK2BG7LzO27mra1tTWrdD9xW+KSetPs2bPZYYcdml2GVlJH719EzKg5lqxTDTuwLSLWi4ghbd3A
gcB9wHXAMeVoxwDXNqoGSZL6skZuTt8C+Gm5P2QA8OPM/HlE3A1cGREfB/4CHNHAGiRJ6rMaFuKZ
+SgwqoPhi4ADGrVcSZL6C6/YJklSRRnikiRVlCEuSVJFGeKSpNXiq1/9KiNHjmTnnXdm9OjR3Hnn
nas8z+uuu46zzz57NVRXnKfd13grUknqY1b3tSrquTbF7bffzvXXX88f//hH1llnHZ5++mleeeWV
uub/2muvMWBAx3E0btw4xo0b16N6+xNb4pKkVTZ//nw222wz1llnHQA222wzttpqq+W36wSYPn06
Y8aMAYrbdU6YMIF99tmHCRMmsOeee3L//fcvn9+YMWOYPn368luGPvfcc2y33XbLr3e+dOlSttlm
G1599VUeeeQRDj74YHbbbTf23XdfHnywuDjon//8Z/baay922mknzjjjjF58NXqPIS5JWmUHHngg
TzzxBO94xzv41Kc+tfz64V154IEH+NWvfsVPfvKTFW7nOX/+fObPn09r6xsXLNtwww0ZPXr08vle
f/31HHTQQQwcOJATTjiB7373u8yYMYNvfvObfOpTnwJg4sSJfPKTn+Tee+9dfinUvsYQlyStsvXX
X58ZM2Zw0UUXMXToUMaPH8+ll17a5TTjxo1j8ODBABxxxBFMnToVKO7Hfdhhh71p/PHjx3PFFVcA
MGXKFMaPH88LL7zAH/7wBw4//HBGjx7NiSeeyPz5xT22fv/733PUUUcBxW1L+yL3iUuSVouWlhbG
jBnDmDFj2GmnnZg8efIKt/ysvd0nwHrrrbe8e+utt2bTTTflnnvu4YorruDCCy980/zHjRvH6aef
zjPPPMOMGTPYf//9Wbp0KRtttBEzZ87ssKb2d1Hra2yJS5JW2UMPPcScOXOW98+cOZPtttuO4cOH
M2PGDACuvvrqLucxfvx4vvGNb/Dcc8+x8847v+n59ddfn913352JEycyduxYWlpa2GCDDRgxYgRX
XXUVUNzDe9asWQDss88+TJkyBYDLL798taznmsYQlyStshdeeIFjjjmGHXfckZ133pkHHniAM888
k0mTJjFx4kRaW1tpaWnpch6HHXYYU6ZM4YgjOr+lxvjx47nssssYP3788mGXX345l1xyCaNGjWLk
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
lySpogxxSZIqyhCXJKmiGhbiEfGfEbEgIu6rGbZJRPwyIuaUfzdu1PIlSerrGtkSvxQ4uN2w04Bb
MvPtwC1lvyRJWgkNC/HMnAY8027wocDksnsy8MFGLV+SpL6ut/eJb5GZ88vuJ4Etenn5kiT1GU07
sC0zE+j0zhYRcUJETI+I6QsXLuzFyiRJqobeDvGnImJLgPLvgs5GzMyLMrM1M1uHDh3aawVKklQV
vR3i1wHHlN3HANf28vIlSeozGnmK2U+A24HtI2JuRHwcOBv4h4iYA7y37JckSSthQKNmnJlHdfLU
AY1apiRJ/YlXbJMkqaIMcUmSKsoQlySpogxxSZIqyhCXJKmiDHFJkirKEJckqaIadp641BfFWdHQ
+eekTm8nIElvYktckqSKMsQlSaooQ1ySpIoyxCVJqihDXJKkijLEJUmqKENckqSKMsQlSaooQ1yS
pIoyxCVJqihDXJKkijLEJUmqKENckqSKMsQlSaooQ1ySpIoyxCVJqihDXJKkijLEJUmqKENckqSK
MsQlSaooQ1ySpIoyxCVJqihDXJKkijLEJUmqKENckqSKMsQlSaooQ1ySpIoyxCVJqihDXJKkijLE
JUmqqAHNLkCS1ImIxs07s3HzVq+xJS5JUkUZ4pIkVZQhLklSRRnikiRVlCEuSVJFeXS6pOpo5NHa
4BHbqhxb4pIkVZQhLklSRRnikiRVlCEuSVJFGeKSJFWUIS5JUkV5iplUZQ0+5SrObOjsyUme0tUs
cVZjPzs9fm89fXCl2BKXJKmimhLiEXFwRDwUEQ9HxGnNqEGSpKrr9RCPiBbgAuB9wI7AURGxY2/X
IUlS1TWjJf4u4OHMfDQzXwGmAIc2oQ5JkiqtGSG+NfBETf/ccpgkSeqByF4+Yi8iDgMOzsxPlP0T
gD0y8+R2450AnFD2bg881KuF9q7NgKebXUQv6k/r25/WFVzfvqw/rSs0f323y8yh3Y3UjFPM5gHb
1PQPK4etIDMvAi7qraKaKSKmZ2Zrs+voLf1pffvTuoLr25f1p3WF6qxvMzan3w28PSJGRMTawJHA
dU2oQ5KkSuv1lnhmvhYRJwO/AFqA/8zM+3u7DkmSqq4pV2zLzBuBG5ux7DVUv9htUKM/rW9/Wldw
ffuy/rSuUJH17fUD2yRJ0urhZVclSaooQ7yJ+tvlZyPiPyNiQUTc1+xaGi0itomIWyPigYi4PyIm
NrumRoqIQRFxV0TMKtf3rGbX1GgR0RIRf4qI65tdS6NFxGMRcW9EzIyI6c2up9EiYqOImBoRD0bE
7IjYq9k1dcbN6U1SXn72f4F/oLjgzd3AUZn5QFMLa6CI2A94AfivzHxns+tppIjYEtgyM/8YEUOA
GcAH++r7GxEBrJeZL0TEQOB3wMTMvKPJpTVMRJwKtAIbZObYZtfTSBHxGNCamf3iPPGImAz8NjN/
WJ5FtW5mPtvsujpiS7x5+t3lZzNzGvBMs+voDZk5PzP/WHYvAWbTh69MmIUXyt6B5aPPthAiYhhw
CPDDZtei1SsiNgT2Ay4ByMxX1tQAB0O8mbz8bD8REcOBXYA7m1tJY5Wbl2cCC4BfZmZfXt//AD4P
vN7sQnpJAjdHxIzyapp92QhgIfCjcnfJDyNivWYX1RlDXGqgiFgfuBr4p8x8vtn1NFJmLsvM0RRX
YXxXRPTJXSYRMRZYkJkzml1LL3p3Zu5KcffJT5e7xvqqAcCuwPczcxdgKbDGHrNkiDdPXZefVXWV
+4avBi7PzP9pdj29pdz0eCtwcLNraZB9gHHlfuIpwP4RcVlzS2qszJxX/l0A/JRid2BfNReYW7Ml
aSpFqK+RDPHm8fKzfVh5oNclwOzM/Faz62m0iBgaERuV3YMpDth8sLlVNUZmfjEzh2XmcIrv7a8z
86NNLqthImK98uBMys3KBwJ99gyTzHwSeCIiti8HHQCssQekNuWKbeqfl5+NiJ8AY4DNImIuMCkz
L2luVQ2zDzABuLfcTwxwenm1wr5oS2ByedbFWsCVmdnnT73qJ7YAflr8LmUA8OPM/HlzS2q4zwCX
lw2sR4HjmlxPpzzFTJKkinJzuiRJFWWIS5JUUYa4JEkVZYhLklRRhrgkSRVliEv9REQsK+9CdV9E
XBUR666GeR4bEeevjvok9ZwhLvUfL2Xm6PIOcq8AJ9U7YXn+t6Q1jCEu9U+/Bd4GEBHXlDe2uL/2
5hYR8UJEnBsRs4C9ImL3iPhDec/wu9qu4gVsFRE/j4g5EfGNJqyL1G95xTapn4mIARQ3smi76tbH
MvOZ8nKpd0fE1Zm5CFgPuDMzP1teuepBYHxm3h0RGwAvldOPprhL29+AhyLiu5n5BJIazhCX+o/B
NZeA/S3l/ZKBUyLiQ2X3NsDbgUXAMoobuABsD8zPzLsB2u7IVl6K85bMfK7sfwDYjhVvsyupQQxx
qf94qbxV6HIRMQZ4L7BXZr4YEbcBg8qnX87MZXXM92813cvw/4rUa9wnLvVvGwKLywD/O2DPTsZ7
CNgyInYHiIgh5WZ5SU3kl1Dq334OnBQRsymC+o6ORsrMVyJiPPDdct/5SxQteElN5F3MJEmqKDen
S5JUUYa4JEkVZYhLklRRhrgkSRVliEuSVFGGuCRJFWWIS5JUUYa4JEkV9f8Bz5zIQBQaKhoAAAAA
SUVORK5CYII=
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[19]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">survival_stats</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">outcomes</span><span class="p">,</span> <span class="s1">&#39;SibSp&#39;</span><span class="p">,</span> <span class="p">[</span><span class="s2">&quot;Sex == &#39;female&#39;&quot;</span><span class="p">,</span> <span class="s2">&quot;Pclass == 3&quot;</span><span class="p">])</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>




<div class="output_png output_subarea ">
<img src="
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
sGDBAg466CBGjBjBhz/8Yboa+nvw4MF8/vOfZ+TIkey55548/fTTADz22GMccMAB7Lzzzhx44IE8
/vjj/P73v+e6667j05/+NKNGjeLhhx9+VVlXX301b3nLWxg5ciT77bcfAJdccgknn3zy8m3GjBnD
rbfeuvzYn/rUpxg5ciRf/epXOeKII5Zv1/65tLUinHrqqZx33nnLtznrrLM499xzATjnnHPYfffd
2XnnnTnzzDNX5mXtlElcktTn3vCGN7Bs2TLmzn31UCBnn302b3vb27j33nt573vfy+OPP97p/osX
L2bPPfdkxowZ7Lffflx00UUAfPzjH+fYY4/lnnvu4ZhjjuGUU05h7733ZuzYsZxzzjlMnz6d7bbb
7lVlffGLX+QXv/gFM2bM4Lrrrusx9sWLF7PHHnswY8YMTj31VO68804WL14MwJVXXslRRx31qu3H
jRvHVVddtXz5qquuYty4cUyZMoWZM2dy1113MX36dKZNm8btt9/e84vXCyZxSVK/uf322/nABz4A
wKGHHspGG23U6XZrr7328hrvbrvtxmOPPQbAHXfcwfvf/34Axo8fz29/+9sej7nPPvtw3HHHcdFF
F7Fs2bIet29paeFf/uVfABgwYACHHHIIP//5z1m6dCk33HADhx122Ku232WXXZg7dy5PPvkkM2bM
YKONNmLrrbdmypQpTJkyhV122YVdd92VBx54gJkzZ/Z4/N7wnLgkqc898sgjtLS0sNlmm3H//ff3
ev+BAwcu77nd0tLC0qVLVziWCy64gDvvvJMbbriB3XbbjWnTpjFgwIDlHe+AVw2UM2jQoFedBz/q
qKP4/ve/z8Ybb0xrayvrr7/+a45xxBFHMHnyZJ566inGjRsHFNeBf+5zn+PEE09c4dh7YhJfSXF2
33QgyTMdHl7S6mHevHmcdNJJnHzyya+5hGq//fbj8ssv5/TTT+emm27i2Wef7VXZe++9N5MmTWL8
+PFcdtll7LvvvgCsv/76LFq0qNN9Hn74YfbYYw/22GMPbrrpJp544gmGDRvG+eefzyuvvMLs2bO5
6667ujzm/vvvz7/9279x0UUXvaYpvc24ceM4/vjjmT9/PrfddhsABx98MGeccQbHHHMMgwcPZvbs
2QwcOJDNNtusV8+5OyZxSdJKe/HFFxk1ahRLlixhwIABjB8/nk9+8pOv2e7MM8/k6KOPZsSIEey9
995ss802vTrO9773PT74wQ9yzjnnMGTIEH784x8DRW35+OOP57vf/S6TJ09+1XnxT3/608ycOZPM
5MADD2TkyGIcsuHDh7Pjjjuyww47sOuuu3Z5zJaWFsaMGcMll1zCxIkTO91mxIgRLFq0iK222oot
ttgCgIMOOoj777+fvfbaCyg6zF166aV9msSjq56Bq5LW1tZcVecTtyYuqdnuv/9+dthhh2aHoRXU
2f8vIqZlZo/X5dmxTZKkmjKJS5JUUyZxSZJqyiQuSVJNmcQlSaopk7gkSTVlEpck9YmvfOUrjBgx
gp133plRo0Zx5513rnSZ1113HV/72tf6ILriOu3VjYO9SNJqpq/Gr2hTZRyLO+64g+uvv567776b
ddZZh/nz5/Pyyy9XKn/p0qUMGNB5Oho7dixjx47tVbxrEmvikqSVNmfOHDbddFPWWWcdADbddFO2
3HLL5dN1AkydOpXRo0cDxXSd48ePZ5999mH8+PHsueee3HvvvcvLGz16NFOnTl0+Zehzzz3Htttu
u3y888WLF7P11luzZMkSHn74YQ455BB222039t13Xx544AEAHn30Ufbaay922mknTj/99H58NfqP
SVyStNIOOuggnnjiCd785jfz0Y9+dPn44d257777+NWvfsUVV1zxquk858yZw5w5c2ht/ceAZa9/
/esZNWrU8nKvv/56Dj74YAYOHMgJJ5zA9773PaZNm8a5557LRz/6UQAmTJjARz7yEf785z8vHwp1
dWMSlySttMGDBzNt2jQuvPBChgwZwrhx47jkkku63Wfs2LGsu+66ABx55JFMnjwZKObjPvzww1+z
/bhx47jyyisBmDRpEuPGjeOFF17g97//PUcccQSjRo3ixBNPZM6cOQD87ne/4+ijjwaKaUtXR54T
lyT1iZaWFkaPHs3o0aPZaaedmDhx4qum/Gw/3SfAeuutt/z+VlttxSabbMI999zDlVdeyQUXXPCa
8seOHctpp53GM888w7Rp0zjggANYvHgxG264IdOnT+80po6zqK1urIlLklbagw8+yMyZM5cvT58+
nW233ZZhw4Yxbdo0AH7yk590W8a4ceP4xje+wXPPPcfOO+/8mscHDx7M7rvvzoQJExgzZgwtLS1s
sMEGDB8+nKuvvhoo5vCeMWMGAPvssw+TJk0C4LLLLuuT57mqMYlLklbaCy+8wLHHHsuOO+7Izjvv
zH333cdZZ53FmWeeyYQJE2htbaWlpaXbMg4//HAmTZrEkUce2eU248aN49JLL2XcuHHL11122WVc
fPHFjBw5khEjRnDttdcC8J3vfIfzzjuPnXbaidmzZ/fNE13FOBXpSnIqUknN5lSk9eZUpJIkrYFM
4pIk1ZRJXJKkmjKJS9JqoA79m/RaK/t/M4lLUs0NGjSIBQsWmMhrJjNZsGABgwYNWuEyHOxFkmpu
6NChzJo1i3nz5jU7FPXSoEGDGDp06ArvbxKXpJobOHAgw4cPb3YYagKb0yVJqimTuCRJNWUSlySp
pkzikiTVlElckqSaMolLklRTJnFJkmrKJC5JUk2ZxCVJqimTuCRJNWUSlySppkzikiTVlElckqSa
MolLklRTJnFJkmrKJC5JUk2ZxCVJqimTuCRJNWUSlySppkzikiTVlElckqSaMolLklRTJnFJkmrK
JC5JUk01PIlHREtE/Ckiri+Xh0fEnRHxUERcGRFrNzoGSZJWR/1RE58A3N9u+evAtzPzjcCzwIf6
IQZJklY7DU3iETEUOBT4UbkcwAHA5HKTicB7GhmDJEmrq0bXxP8T+AzwSrm8CbAwM5eWy7OArTrb
MSJOiIipETF13rx5DQ5TkqT6aVgSj4gxwNzMnLYi+2fmhZnZmpmtQ4YM6ePoJEmqvwENLHsfYGxE
vAsYBGwAfAfYMCIGlLXxocDsBsYgSdJqq2E18cz8XGYOzcxhwFHArzPzGOAW4PBys2OBaxsVgyRJ
q7NmXCf+WeCTEfEQxTnyi5sQgyRJtdfI5vTlMvNW4Nby/iPAW/vjuJIkrc4csU2SpJoyiUuSVFMm
cUmSasokLklSTZnEJUmqKZO4JEk1ZRKXJKmmTOKSJNWUSVySpJoyiUuSVFMmcUmSasokLklSTZnE
JUmqKZO4JEk1ZRKXJKmmTOKSJNWUSVySpJoyiUuSVFMmcUmSasokLklSTZnEJUmqKZO4JEk1ZRKX
JKmmTOKSJNWUSVySpJoyiUuSVFMmcUmSasokLklSTZnEJUmqKZO4JEk1ZRKXJKmmTOKSJNWUSVyS
pJoyiUuSVFMmcUmSaqrHJB4R60XEWuX9N0fE2IgY2PjQJElSd6rUxG8HBkXEVsAUYDxwSSODkiRJ
PauSxCMz/wa8Dzg/M48ARjQ2LEmS1JNKSTwi9gKOAW4o17U0LiRJklRFlSQ+Afgc8LPMvDci3gDc
0tiwGiyi726SJDXJgO4ejIgWYGxmjm1bl5mPAKc0OjBJktS9bmvimbkMeFs/xSJJknqh25p46U8R
cR1wNbC4bWVm/rRhUUmSpB5VSeKDgAXAAe3WJWASlySpiXpM4pn5wf4IRJIk9U6VEdveHBE3R8Rf
yuWdI+L0xocmSZK6U+USs4soLjFbApCZ9wBHNTIoSZLUsypJ/HWZeVeHdUsbEYwkSaquShKfHxHb
UXRmIyIOB+Y0NCpJktSjKr3TPwZcCPxTRMwGHgU+0NCoJElSj6r0Tn8EeHtErAeslZmLGh+WJEnq
SY9JPCI+2WEZ4DlgWmZOb1BckiSpB1XOibcCJwFblbcTgUOAiyLiMw2MTZIkdaPKOfGhwK6Z+QJA
RJxJMSXpfsA04BuNC0+SJHWlSk18M+Dv7ZaXAJtn5osd1kuSpH5UpSZ+GXBnRFxbLr8buLzs6HZf
VztFxCDgdmCd8jiTM/PMiBgOTAI2oajJj8/Ml1fiOUiStEbqsSaemV+iOA++sLydlJlfzMzFmXlM
N7v+HTggM0cCo4BDImJP4OvAtzPzjcCzwIdW9klIkrQmqtKcDnA3xVSkPwPmRsQ2Pe2QhRfKxYHl
LSlmQ5tcrp8IvKdXEUuSJKDaJWYfB84EngaWAUGRjHeusG8LRZP5G4HzgIeBhZnZNmzrLIoe75Ik
qZeqnBOfAGyfmQt6W3hmLgNGRcSGFLX4f6q6b0ScAJwAsM02PVb8JUla41RpTn+CYnCXFZaZC4Fb
gL2ADSOi7cfDUGB2F/tcmJmtmdk6ZMiQlTm8JEmrpSo18UeAWyPiBtpdUpaZ3+pup4gYAizJzIUR
sS7wDopObbcAh1P0UD8WuLbrUiRJUleqJPHHy9va5a2qLYCJ5XnxtYCrMvP6iLgPmBQRXwb+BFzc
y5glSRLVJkA5GyAiXpeZf6tacGbeA+zSyfpHgLf2JkhJkvRaPZ4Tj4i9ytrzA+XyyIg4v+GRSZKk
blXp2PafwMHAAoDMnEExbrokSWqiSoO9ZOYTHVYta0AskiSpF6p0bHsiIvYGMiIGUlw3fn9jw5Ik
ST2pUhM/CfgYxchqsynGQf9YI4OSJEk9q9I7fT7Q3UQnkiSpCar0Tv9GRGwQEQMj4uaImBcRH+iP
4CRJUteqNKcflJnPA2OAxygmM/l0I4OSJEk9q5LE25rcDwWuzsyVGkddkiT1jSq906+PiAeAF4GP
lGOiv9TYsCRJUk96rIln5qnA3kBrZi4BFgOHNTowSZLUvSod246gmI1sWUScDlwKbNnwyCRJUreq
nBM/IzMXRcTbgLdTzDr2g8aGJUmSelIlibcNsXoocGFm3kDvpiSVJEkNUCWJz46IHwLjgBsjYp2K
+0mSpAaqkoyPBH4BHJyZC4GN8TpxSZKarkrv9L9l5k+B5yJiG2Ag5dzikiSpear0Th8bETOBR4Hb
yr83NTowSZLUvSrN6V8C9gT+NzOHU/RQ/0NDo5IkST2qksSXZOYCYK2IWCszbwFaGxyXJEnqQZVh
VxdGxGDgduCyiJhLMWqbJElqoio18cOAvwH/DvwP8DDw7kYGJUmSetZtTTwi3kMx9eifM/MXwMR+
iUqSJPWoy5p4RJxPUfveBPhSRJzRb1FJkqQedVcT3w8YWU588jrgNxQ91SVJ0iqgu3PiL2fmMigG
fAGif0KSJElVdFcT/6eIuKe8H8B25XIAmZk7Nzw6SZLUpe6S+A79FoUkSeq1LpN4Zv61PwORJEm9
45SikiTVlElckqSa6u468ZvLv1/vv3AkSVJV3XVs2yIi9gbGRsQkOlxilpl3NzQySZLUre6S+BeA
M4ChwLc6PJbAAY0KSpIk9ay73umTgckRcUZmOlKbJEmrmB6nIs3ML0XEWIphWAFuzczrGxuWJEnq
SY+90yPiq8AE4L7yNiEi/qPRgUmSpO71WBMHDgVGZeYrABExEfgTcFojA5MkSd2rep34hu3uv74R
gUiSpN6pUhP/KvCniLiF4jKz/YBTGxqVJEnqUZWObVdExK3A7uWqz2bmUw2NSpIk9ahKTZzMnANc
1+BYJElSLzh2uiRJNWUSlySpprpN4hHREhEP9FcwkiSpum6TeGYuAx6MiG36KR5JklRRlY5tGwH3
RsRdwOK2lZk5tmFRSZKkHlVJ4mc0PApJktRrVa4Tvy0itgXelJm/iojXAS2ND02SJHWnygQoxwOT
gR+Wq7YCrmlkUJIkqWdVLjH7GLAP8DxAZs4ENmtkUJIkqWdVkvjfM/PltoWIGABk40KSJElVVEni
t0XEacC6EfEO4Grg540NS5Ik9aRKEj8VmAf8GTgRuBE4vZFBqQsRfXeTJNVeld7pr0TEROBOimb0
BzPT5nRJkpqsxyQeEYcCFwAPU8wnPjwiTszMmxodnCRJ6lqV5vRvAv+cmaMzc3/gn4Fv97RTRGwd
EbdExH0R2Od/AAAMeElEQVQRcW9ETCjXbxwRv4yImeXfjVbuKUiStGaqksQXZeZD7ZYfARZV2G8p
8KnM3BHYE/hYROxIcY795sx8E3BzuSxJknqpy+b0iHhfeXdqRNwIXEVxTvwI4I89FZyZc4A55f1F
EXE/xUAxhwGjy80mArcCn12x8CVJWnN1d0783e3uPw3sX96fB6zbm4NExDBgF4rOcZuXCR7gKWDz
LvY5ATgBYJttnERNkqSOukzimfnBvjhARAwGfgJ8IjOfj3aXN2VmRkSnPd0z80LgQoDW1lZ7w0uS
1EGV3unDgY8Dw9pvX2Uq0ogYSJHAL8vMn5arn46ILTJzTkRsAcxdkcAlSVrTVZmK9BrgYopR2l6p
WnAUVe6Lgfsz81vtHroOOBb4Wvn32srRSpKk5aok8Zcy87srUPY+wHjgzxExvVx3GkXyvioiPgT8
FThyBcqWJGmNVyWJfycizgSmAH9vW5mZd3e3U2b+lmJwmM4cWDlCSZLUqSpJfCeKGvUB/KM5Pctl
SZLUJFWS+BHAG9pPRypJkpqvyohtfwE2bHQgkiSpd6rUxDcEHoiIP/Lqc+I9XmImSZIap0oSP7Ph
UUiSpF6rMp/4bf0RiCRJ6p0qI7YtouiNDrA2MBBYnJkbNDIwSZLUvSo18fXb7pejsB1GMbWoJElq
oiq905fLwjXAwQ2KR5IkVVSlOf197RbXAlqBlxoWkSRJqqRK7/T284ovBR6jaFKXJElNVOWceJ/M
Ky5JkvpWl0k8Ir7QzX6ZmV9qQDySJKmi7mriiztZtx7wIWATwCQuSVITdZnEM/ObbfcjYn1gAvBB
YBLwza72Uz3E2V3NEts7eWb2vJEkqSG6PSceERsDnwSOASYCu2bms/0RmCRJ6l5358TPAd4HXAjs
lJkv9FtUkiSpR90N9vIpYEvgdODJiHi+vC2KiOf7JzxJktSV7s6J92o0N0mS1L9M1JIk1ZRJXJKk
mjKJS5JUUyZxSZJqyiQuSVJNmcQlSaopk7gkSTVlEpckqaZM4pIk1ZRJXJKkmjKJS5JUUyZxSZJq
yiQuSVJNmcQlSaopk7gkSTVlEpckqaZM4pIk1ZRJXJKkmjKJS5JUUyZxSZJqyiQuSVJNmcQlSaop
k7gkSTVlEpckqaZM4pIk1ZRJXJKkmjKJS5JUUyZxSZJqyiQuSVJNmcQlSaopk7gkSTVlEpckqaZM
4pIk1ZRJXJKkmjKJS5JUUyZxSZJqyiQuSVJNNSyJR8R/RcTciPhLu3UbR8QvI2Jm+XejRh1fkqTV
XSNr4pcAh3RYdypwc2a+Cbi5XJYkSSugYUk8M28Hnumw+jBgYnl/IvCeRh1fkqTVXX+fE988M+eU
958CNu9qw4g4ISKmRsTUefPm9U90kiTVSNM6tmVmAtnN4xdmZmtmtg4ZMqQfI5MkqR76O4k/HRFb
AJR/5/bz8SVJWm30dxK/Dji2vH8scG0/H1+SpNVGIy8xuwK4A9g+ImZFxIeArwHviIiZwNvLZUmS
tAIGNKrgzDy6i4cObNQxJUlakzhimyRJNWUSlySppkzikiTVlElckqSaMolLklRTJnFJkmrKJC5J
Uk2ZxCVJqimTuCRJNWUSlySppkzikiTVlElckqSaMolLklRTJnFJkmqqYVORSrUX0XdlZfZdWZJU
siYuSVJNmcQlSaopk7gkSTVlEpckqaZM4pIk1ZRJXJKkmjKJS5JUUyZxSZJqyiQuSVJNmcQlSaop
k7gkSTVlEpckqaZM4pIk1ZRJXJKkmjKJS5JUUyZxSZJqyiQuSVJNmcQlSaqpAc0OQOqNODv6pJw8
M/uknFVW9M3rRK7mr5NUc9bEJUmqKZO4JEk1ZRKXJKmmTOKSJNWUSVySpJoyiavxIvruJkl+nyxn
EpckqaZM4pIk1ZRJXJKkmjKJS5JUUyZxSZJqyiQuSVJNOQGKpC454Yy0arMmLklSTZnEJUmqKZO4
JEk1ZRKXJKmmTOKSJNWUvdOlfmAv74r6alKKXM1fJ6lkTVySpJoyiUuSVFNNSeIRcUhEPBgRD0XE
qc2IQZKkuuv3JB4RLcB5wDuBHYGjI2LH/o5DkqS6a0ZN/K3AQ5n5SGa+DEwCDmtCHJIk1VozkvhW
wBPtlmeV6yRJUi9E9vOlGBFxOHBIZn64XB4P7JGZJ3fY7gTghHJxe+DBfg20b20KzG92ECvAuPuX
cfcv4+5/dY29GXFvm5lDetqoGdeJzwa2brc8tFz3Kpl5IXBhfwXVSBExNTNbmx1Hbxl3/zLu/mXc
/a+usa/KcTejOf2PwJsiYnhErA0cBVzXhDgkSaq1fq+JZ+bSiDgZ+AXQAvxXZt7b33FIklR3TRl2
NTNvBG5sxrGbpK6nBYy7fxl3/zLu/lfX2FfZuPu9Y5skSeobDrsqSVJNmcQbqK7Dy0bEf0XE3Ij4
S7Nj6Y2I2DoibomI+yLi3oiY0OyYqoiIQRFxV0TMKOM+u9kx9UZEtETEnyLi+mbHUlVEPBYRf46I
6RExtdnxVBURG0bE5Ih4ICLuj4i9mh1TTyJi+/J1brs9HxGfaHZcVUTEv5efyb9ExBURMajZMXVk
c3qDlMPL/i/wDooBbf4IHJ2Z9zU1sAoiYj/gBeD/ZeZbmh1PVRGxBbBFZt4dEesD04D3rOqveUQE
sF5mvhARA4HfAhMy8w9NDq2SiPgk0ApskJljmh1PFRHxGNCambW6ZjkiJgK/ycwflVf3vC4zFzY7
rqrK78XZFGOD/LXZ8XQnIrai+CzumJkvRsRVwI2ZeUlzI3s1a+KNU9vhZTPzduCZZsfRW5k5JzPv
Lu8vAu6nBqMBZuGFcnFgeavFr+uIGAocCvyo2bGs7iLi9cB+wMUAmflynRJ46UDg4VU9gbczAFg3
IgYArwOebHI8r2ESbxyHl22iiBgG7ALc2dxIqimbpKcDc4FfZmYt4gb+E/gM8EqzA+mlBKZExLRy
dMg6GA7MA35cnr74UUSs1+ygeuko4IpmB1FFZs4GzgUeB+YAz2XmlOZG9Vomca12ImIw8BPgE5n5
fLPjqSIzl2XmKIoRDN8aEav8aYyIGAPMzcxpzY5lBbwtM3elmE3xY+UppFXdAGBX4AeZuQuwGKhT
X5u1gbHA1c2OpYqI2Iii9XQ4sCWwXkR8oLlRvZZJvHEqDS+rvlWeU/4JcFlm/rTZ8fRW2Tx6C3BI
s2OpYB9gbHl+eRJwQERc2tyQqilrWWTmXOBnFKe/VnWzgFntWmkmUyT1ungncHdmPt3sQCp6O/Bo
Zs7LzCXAT4G9mxzTa5jEG8fhZftZ2UHsYuD+zPxWs+OpKiKGRMSG5f11KTpDPtDcqHqWmZ/LzKGZ
OYzi/f3rzFzlaiodRcR6ZcdHyubog4BV/kqMzHwKeCIiti9XHQis0p02OziamjSllx4H9oyI15Xf
LQdS9LNZpTRlxLY1QZ2Hl42IK4DRwKYRMQs4MzMvbm5UlewDjAf+XJ5fBjitHCFwVbYFMLHsubsW
cFVm1uZyrRraHPhZ8b3MAODyzPyf5oZU2ceBy8qKwSPAB5scTyXlj6V3ACc2O5aqMvPOiJgM3A0s
Bf7EKjhym5eYSZJUUzanS5JUUyZxSZJqyiQuSVJNmcQlSaopk7gkSTVlEpfWIBHx+XJWpnvKGaX2
KIfv3LF8/IUu9tszIu4s97k/Is7q18AldcrrxKU1RDlt5Rhg18z8e0RsCqydmR+usPtE4MjMnFFe
z759TztIajxr4tKaYwtgfmb+HSAz52fmkxFxa0S0tm0UEd8ua+s3R8SQcvVmFJNAtI3zfl+57VkR
8d8RcUdEzIyI4/v5OUlrNJO4tOaYAmwdEf8bEedHxP6dbLMeMDUzRwC3AWeW678NPBgRP4uIEyNi
ULt9dgYOAPYCvhARWzbwOUhqxyQurSHKOct3A06gmNLyyog4rsNmrwBXlvcvBd5W7vtFoJXih8D7
gfbDlF6bmS9m5nyKyVvqMJmItFrwnLi0BsnMZcCtwK0R8Wfg2J52abfvw8APIuIiYF5EbNJxmy6W
JTWINXFpDRER20fEm9qtGgX8tcNmawGHl/ffD/y23PfQciYngDcBy4CF5fJhETGoTOqjKWbwk9QP
rIlLa47BwPfKaU+XAg9RNK1PbrfNYuCtEXE6MBcYV64fD3w7Iv5W7ntMZi4r8/o9FM3omwJfyswn
++PJSHIWM0krobxe/IXMPLfZsUhrIpvTJUmqKWvikiTVlDVxSZJqyiQuSVJNmcQlSaopk7gkSTVl
EpckqaZM4pIk1dT/B+IqXXOZBOzmAAAAAElFTkSuQmCC
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>可以看到独自一人的底层阶级女性更容易存活，将其作为决策条件之一。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[20]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="k">def</span> <span class="nf">predictions_tmp2</span><span class="p">(</span><span class="n">data</span><span class="p">):</span>
    <span class="sd">&quot;&quot;&quot; 考虑五个特征: </span>
<span class="sd">            - 如果是女性并处于中上阶级则生还</span>
<span class="sd">            - 如果是底层女性并且独自一人则生还</span>
<span class="sd">            - 如果是男性并且小于10岁则生还 &quot;&quot;&quot;</span>
    
    <span class="n">predictions</span> <span class="o">=</span> <span class="p">[]</span>
    <span class="k">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">passenger</span> <span class="ow">in</span> <span class="n">data</span><span class="o">.</span><span class="n">iterrows</span><span class="p">():</span>
        
        <span class="c1"># TODO 3</span>
        <span class="c1"># 移除下方的 &#39;pass&#39; 声明</span>
        <span class="c1"># 输入你自己的预测条件</span>
        <span class="k">if</span> <span class="n">passenger</span><span class="p">[</span><span class="s1">&#39;Sex&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;female&#39;</span><span class="p">:</span>
            <span class="k">if</span> <span class="n">passenger</span><span class="p">[</span><span class="s1">&#39;Pclass&#39;</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mi">3</span><span class="p">:</span>
                <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
            <span class="k">elif</span> <span class="n">passenger</span><span class="p">[</span><span class="s1">&#39;SibSp&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="mi">0</span> <span class="ow">and</span> <span class="n">passenger</span><span class="p">[</span><span class="s1">&#39;Parch&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
                <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
            <span class="k">else</span><span class="p">:</span>
                <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
        <span class="k">elif</span> <span class="n">passenger</span><span class="p">[</span><span class="s1">&#39;Age&#39;</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mi">10</span><span class="p">:</span>
            <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
        <span class="k">else</span><span class="p">:</span>
            <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
    
    <span class="c1"># 返回预测结果</span>
    <span class="k">return</span> <span class="n">pd</span><span class="o">.</span><span class="n">Series</span><span class="p">(</span><span class="n">predictions</span><span class="p">)</span>

<span class="c1"># 进行预测</span>
<span class="n">predictions</span> <span class="o">=</span> <span class="n">predictions_tmp2</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[21]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="k">print</span> <span class="n">accuracy_score</span><span class="p">(</span><span class="n">outcomes</span><span class="p">,</span> <span class="n">predictions</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>Predictions have an accuracy of 80.92%.
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>很好，达到了我想要的效果，准确率提升了。</p>
<p>既然阶级和是否独自一人影响着女性，也可以看看对男性的影响。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h1 id="&#23545;&#20110;&#30007;&#24615;&#65292;&#38454;&#32423;&#30340;&#24433;&#21709;">&#23545;&#20110;&#30007;&#24615;&#65292;&#38454;&#32423;&#30340;&#24433;&#21709;<a class="anchor-link" href="#&#23545;&#20110;&#30007;&#24615;&#65292;&#38454;&#32423;&#30340;&#24433;&#21709;">&#182;</a></h1>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[22]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">survival_stats</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">outcomes</span><span class="p">,</span> <span class="s1">&#39;Pclass&#39;</span><span class="p">,</span> <span class="p">[</span><span class="s2">&quot;Sex == &#39;male&#39;&quot;</span><span class="p">,</span> <span class="s2">&quot;Age &lt; 10&quot;</span><span class="p">])</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>




<div class="output_png output_subarea ">
<img src="
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
umI/bklS/9VvDggTF/XuPpk5pet9H++++25uueUW7r33XjbbbDOWLVvG3/72t5qW/8orrzBgQPsv
//jx4xk/fny36pUkbZzskffA4sWL2Xbbbdlss80A2Hbbbdlhhx3WneoTYM6cORxxxBFAcarPSZMm
cfDBBzNp0iQOOOAA7r///nXLO+KII5gzZ866040+//zz7LLLLuuOj7569Wp22mkn1qxZwyOPPMKx
xx7Lvvvuy6GHHsqDDz4IwGOPPcaBBx7IXnvtxQUXXNCHr4YkqREM8h44+uijWbhwIW9/+9v56Ec/
yp133tnlYxYsWMAvf/lLrr322tedCnTx4sUsXryY5ubXDuTz5je/mbFjx65b7i233MIxxxzDwIED
Oeuss/jOd77D3LlzueSSS/joRz8KwOTJk/nIRz7Cn/70p3WHTZUk9V8GeQ9sueWWzJ07l6lTpzJs
2DAmTpzItGnTOn3M+PHjGTx4MAAnnXQSM2bMAIrzeZ944olvmH/ixIlcd911AEyfPp2JEyeyatUq
fve73zFhwgTGjh3L2WefzeLFiwH47W9/yymnnAIUpzyVJPVv/WYbeaM0NTVxxBFHcMQRR7DXXntx
5ZVXvu50oa1PFQqwxRZbrLu+4447MnToUO677z6uu+46Lrvssjcsf/z48Zx//vk8++yzzJ07lyOP
PJLVq1ez1VZbMW/evHZranv2NUlS/2WPvAceeughHn744XW3582bxy677MKIESOYO3cuADfeeGOn
y5g4cSJf//rXef755xk9evQb7t9yyy3Zb7/9mDx5MuPGjaOpqYk3velNjBw5khtuuAEozgE+f/58
AA4++ODXnfJUktS/GeQ9sGrVKk477TT22GMPRo8ezYIFC7jwwguZMmUKkydPprm5maampk6XceKJ
JzJ9+nROOumkDueZOHEiV111FRMnTlw37eqrr+aKK65gzJgxjBo1ih//+McAfOtb3+K73/0ue+21
F08++WTvPFFJ0gbL05iqIXz/tNHbWDaBVSBjNkSexlSSpI2EQS5JUoUZ5JIkVVjdgjwivh8RSyLi
z62mXRwRD0bEfRHxo4jYqidtVGH7vt7I902Sek89e+TTgGPbTPsFsGdmjgb+G/js+i580KBBLF++
3FComMxk+fLlDBo0qNGlSFK/ULcDwmTmrIgY0WbazFY3fw+88VBmNRo+fDiLFi1i6dKl67sINcig
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
61SPJElLuzZ6AAAJeklEQVTqhg575BHx/vLqnIi4DbieYhv5BOAPfVCbJEnqQmer1t/T6vozwOHl
9aXA4LpVJEmSatZhkGemh02VJGkDV8uo9ZEUx0Yf0Xr+zBxfv7IkSVItahm1fhNwBcXR3F6tbzmS
JKk7agnylzPz23WvRJIkdVstQf6tiJgCzAT+2jIxM++tW1WSJKkmtQT5XsAk4EheW7We5W1JktRA
tQT5BOCtrU9lKkmSNgy1HNntz8BW9S5EkiR1Xy098q2AByPiD7x+G7m7n0mS1GC1BPmUulchSZLW
Sy3nI7+zLwqRJEndV8uR3VZSjFIH2BQYCKzOzDfVszBJktS1WnrkQ1quR0QAJwAH1LMoSZJUm1pG
ra+ThZuAY+pUjyRJ6oZaVq2/v9XNTYBm4OW6VSRJkmpWy6j11uclfwV4nGL1uiRJarBatpF7XnJJ
kjZQHQZ5RHyhk8dlZn6pDvVIkqRu6KxHvrqdaVsAHwKGAga5JEkN1mGQZ+Y3Wq5HxBBgMnAGMB34
RkePkyRJfafTbeQRsQ3wCeBU4Epgn8x8ri8KkyRJXetsG/nFwPuBqcBembmqz6qSJEk16eyAMJ8E
dgAuAJ6KiBfKy8qIeKFvypMkSZ3pbBt5t476JkmS+p5hLUlShRnkkiRVmEEuSVKFGeSSJFWYQS5J
UoUZ5JIkVVjDgjwimiLijxFxS6NqkCSp6hrZI58MPNDA9iVJqryGBHlEDAeOB/6zEe1LktRfNKpH
/m/Ap4FXO5ohIs6KiDkRMWfp0qV9V5kkSRXS50EeEeOAJZk5t7P5MnNqZjZnZvOwYcP6qDpJkqql
ET3yg4HxEfE4xbnNj4yIqxpQhyRJldfnQZ6Zn83M4Zk5AjgZ+HVmfrCv65AkqT9wP3JJkiqsw9OY
9oXMvAO4o5E1SJJUZfbIJUmqMINckqQKM8glSaowg1ySpAozyCVJqjCDXJKkCjPIJUmqMINckqQK
M8glSaowg1ySpAozyCVJqjCDXJKkCjPIJUmqMINckqQKM8glSaowg1ySpAozyCVJqjCDXJKkCjPI
JUmqMINckqQKM8glSaowg1ySpAozyCVJqjCDXJKkCjPIJUmqMINckqQKM8glSaowg1ySpAozyCVJ
qjCDXJKkCjPIJUmqMINckqQKM8glSaowg1ySpAozyCVJqjCDXJKkCjPIJUmqMINckqQKM8glSaqw
Pg/yiNgpIm6PiAURcX9ETO7rGiRJ6i8GNKDNV4BPZua9ETEEmBsRv8jMBQ2oRZKkSuvzHnlmLs7M
e8vrK4EHgB37ug5JkvqDRvTI14mIEcDewOx27jsLOAtg55137tO6+ou4KBpdQp/IKdnoEiSpYRo2
2C0itgRuBP45M19oe39mTs3M5sxsHjZsWN8XKElSBTQkyCNiIEWIX52ZP2xEDZIk9QeNGLUewBXA
A5n5zb5uX5Kk/qQRPfKDgUnAkRExr7wc14A6JEmqvD4f7JaZvwE2jlFYkiTVmUd2kySpwgxySZIq
zCCXJKnCDHJJkirMIJckqcIMckmSKswglySpwgxySZIqzCCXJKnCDHJJkirMIJckqcIMckmSKswg
lySpwgxySZIqzCCXJKnCDHJJkirMIJckqcIMckmSKswglySpwgxySZIqzCCXJKnCDHJJkirMIJck
qcIMckmSKswglySpwgxySZIqzCCXJKnCDHJJkirMIJckqcIMckmSKswglySpwgxySZIqzCCXJKnC
DHJJkirMIJckqcIMckmSKswglySpwgxySZIqrCFBHhHHRsRDEfGXiDivETVIktQf9HmQR0QT8F3g
3cAewCkRsUdf1yFJUn/QiB75O4C/ZOajmfk3YDpwQgPqkCSp8hoR5DsCC1vdXlROkyRJ3TSg0QV0
JCLOAs4qb66KiIcaWY9qti2wrC8bjAujL5tT/fkZ6k8ubEir/eEztEutMzYiyJ8Edmp1e3g57XUy
cyowta+KUu+IiDmZ2dzoOlRdfobUUxvbZ6gRq9b/ALwtIkZGxKbAycDNDahDkqTK6/MeeWa+EhEf
A34ONAHfz8z7+7oOSZL6g4ZsI8/M24DbGtG26s7NIeopP0PqqY3qMxSZ2egaJEnSevIQrZIkVZhB
rl4REd+PiCUR8edG16JqioidIuL2iFgQEfdHxORG16RqiYhBEXFPRMwvP0MXNbqmvuCqdfWKiDgM
WAX8/5m5Z6PrUfVExPbA9pl5b0QMAeYC783MBQ0uTRUREQFskZmrImIg8Btgcmb+vsGl1ZU9cvWK
zJwFPNvoOlRdmbk4M+8tr68EHsCjPqobsrCqvDmwvPT73qpBLmmDExEjgL2B2Y2tRFUTEU0RMQ9Y
AvwiM/v9Z8ggl7RBiYgtgRuBf87MFxpdj6olM9dm5liKo4a+IyL6/aY+g1zSBqPcrnkjcHVm/rDR
9ai6MnMFcDtwbKNrqTeDXNIGoRyodAXwQGZ+s9H1qHoiYlhEbFVeHwy8C3iwsVXVn0GuXhER1wJ3
A7tFxKKI+FCja1LlHAxMAo6MiHnl5bhGF6VK2R64PSLuozivxy8y85YG11R37n4mSVKF2SOXJKnC
DHJJkirMIJckqcIMckmSKswglySpwgxyaSMQEWvL3bn+HBE3RMTmncx7YUT8376sT9L6M8iljcNL
mTm2PDPd34BzGl2QpN5hkEsbn7uAvwOIiH+MiPvK8zf/V9sZI+LMiPhDef+NLT35iJhQ9u7nR8Ss
ctqo8lzQ88plvq1Pn5W0kfKAMNJGICJWZeaWETGA4ljmPwNmAT8CDsrMZRGxTWY+GxEXAqsy85KI
GJqZy8tl/AvwTGZ+JyL+BBybmU9GxFaZuSIivgP8PjOvjohNgabMfKkhT1jaiNgjlzYOg8tTO84B
nqA4pvmRwA2ZuQwgM9s7n/yeEXFXGdynAqPK6b8FpkXEmUBTOe1u4PyI+AywiyEu9Y0BjS5AUp94
qTy14zrFOUq6NA14b2bOj4jTgSMAMvOciNgfOB6YGxH7ZuY1ETG7nHZbRJydmb/uxecgqR32yKWN
16+BCRExFCAitmlnniHA4vL0oqe2TIyIXTNzdmZ+AVgK7BQRbwUezcxvAz8GRtf9GUiyRy5trDLz
/oj4MnBnRKwF/gic3ma2zwOzKcJ6NkWwA1xcDmYL4FfAfOAzwKSIWAM8DXyl7k9CkoPdJEmqMlet
S5JUYQa5JEkVZpBLklRhBrkkSRVmkEuSVGEGuSRJFWaQS5JUYQa5JEkV9v8AAIsP+iHke3gAAAAA
SUVORK5CYII=
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[23]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">survival_stats</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">outcomes</span><span class="p">,</span> <span class="s1">&#39;Pclass&#39;</span><span class="p">,</span> <span class="p">[</span><span class="s2">&quot;Sex == &#39;male&#39;&quot;</span><span class="p">,</span> <span class="s2">&quot;Age &gt; 10&quot;</span><span class="p">])</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>




<div class="output_png output_subarea ">
<img src="
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
jHHjxvG9732Pl19+mZEjR77j/nXXXZfddtuNCRMmcNhhh9HS0sK73/1uttpqK66++mqgOAf7zJkz
Adhrr72WO7WsJKnaDPgGePXVVznuuOPYYYcdGDlyJA899BBnnnkmEydOZMKECbS2ttLS0tLpMo44
4ggmT57MUUcdtcJpxo0bx89//nPGjRu3rO2yyy7joosuYtSoUYwYMYJf/rI41P8Pf/hDfvKTn7DT
Tjsxd+47zuEjSaqYhp8utpFaW1tz2rTlzibr6Ub7Of9/Wu2tLrvS+nH2NNsqcbpYSZLUHAa8JEkV
ZMBLklRBlQz4/jyuYHXm/02Sek/lAn7QoEEsXLjQsOhnMpOFCxcyaNCgZpciSZVQuQPdDB06lDlz
5rBgwYJml6KVNGjQIIYOHdrsMiSpEioX8AMHDmSrrbZqdhmSJDVV5TbRS5IkA16SpEoy4CVJqiAD
XpKkCjLgJUmqIANekqQKMuAlSaogA16SpAoy4CVJqiADXpKkCjLgJUmqIANekqQKaljAR8TFETE/
Ih6oabsyImaUl6ciYkbZPjwiXq+574JG1SVJ0uqgkWeTuwT4MfDvbQ2ZOa7tekR8H3i5ZvpZmTm6
gfVIkrTaaFjAZ+aUiBje0X0REcBRwP6NWr8kSauzZu2D3wd4LjMfq2nbKiL+FBF3RsQ+K5oxIk6K
iGkRMW3BggWNr1SSpH6oWQF/DHBFze15wLDM3Bn4InB5RLy7oxkzc1JmtmZm65AhQ/qgVEmS+p8+
D/iIGAB8DLiyrS0z/5qZC8vr04FZwHv7ujZJkqqiGT34DwCPZOactoaIGBIRLeX1rYFtgSeaUJsk
SZXQyJ/JXQHcDWwXEXMi4tPlXUez/OZ5gH2B+8ufzV0DnJKZLzSqNkmSqq6Ro+iPWUH78R20XQtc
26haJEla3XgkO0mSKsiAlySpggx4SZIqyICXJKmCDHhJkirIgJckqYIMeEmSKsiAlySpggx4SZIq
yICXJKmCDHhJkirIgJckqYIMeEmSKsiAlySpggx4SZIqyICXJKmCDHhJkirIgJckqYIMeEmSKsiA
lySpggx4SZIqyICXJKmCDHhJkirIgJckqYIMeEmSKsiAlySpggx4SZIqyICXJKmCDHhJkirIgJck
qYIaFvARcXFEzI+IB2razoyIuRExo7wcUnPf1yLi8Yh4NCIOalRdkiStDhrZg78EOLiD9n/JzNHl
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
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>小于十岁的男性，处于中上阶级的全部存活</p>
<p>而大于十岁的男性中，存活率都很低</p>
<p>因此，阶级也可以作为小于十岁男性的生存率决策条件。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[24]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="k">def</span> <span class="nf">predictions_tmp3</span><span class="p">(</span><span class="n">data</span><span class="p">):</span>
    <span class="sd">&quot;&quot;&quot; 考虑六个特征: </span>
<span class="sd">            - 如果是女性并处于中上阶级则生还</span>
<span class="sd">            - 如果是底层女性并且独自一人则生还</span>
<span class="sd">            - 如果是男性并且小于10岁并且处于中上阶级则生还</span>
<span class="sd">            &quot;&quot;&quot;</span>
    
    <span class="n">predictions</span> <span class="o">=</span> <span class="p">[]</span>
    <span class="k">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">passenger</span> <span class="ow">in</span> <span class="n">data</span><span class="o">.</span><span class="n">iterrows</span><span class="p">():</span>
        
        <span class="c1"># TODO 3</span>
        <span class="c1"># 移除下方的 &#39;pass&#39; 声明</span>
        <span class="c1"># 输入你自己的预测条件</span>
        <span class="k">if</span> <span class="n">passenger</span><span class="p">[</span><span class="s1">&#39;Sex&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;female&#39;</span><span class="p">:</span>
            <span class="k">if</span> <span class="n">passenger</span><span class="p">[</span><span class="s1">&#39;Pclass&#39;</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mi">3</span><span class="p">:</span>
                <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
            <span class="k">elif</span> <span class="n">passenger</span><span class="p">[</span><span class="s1">&#39;SibSp&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="mi">0</span> <span class="ow">and</span> <span class="n">passenger</span><span class="p">[</span><span class="s1">&#39;Parch&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
                <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
            <span class="k">else</span><span class="p">:</span>
                <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
        <span class="k">elif</span> <span class="n">passenger</span><span class="p">[</span><span class="s1">&#39;Age&#39;</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mi">10</span><span class="p">:</span>
            <span class="k">if</span> <span class="n">passenger</span><span class="p">[</span><span class="s1">&#39;Pclass&#39;</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mi">3</span><span class="p">:</span>
                <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
            <span class="k">else</span><span class="p">:</span>
                <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
        <span class="k">else</span><span class="p">:</span>
            <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
    
    <span class="c1"># 返回预测结果</span>
    <span class="k">return</span> <span class="n">pd</span><span class="o">.</span><span class="n">Series</span><span class="p">(</span><span class="n">predictions</span><span class="p">)</span>

<span class="c1"># 进行预测</span>
<span class="n">predictions</span> <span class="o">=</span> <span class="n">predictions_tmp3</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[25]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="k">print</span> <span class="n">accuracy_score</span><span class="p">(</span><span class="n">outcomes</span><span class="p">,</span> <span class="n">predictions</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>Predictions have an accuracy of 81.48%.
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[26]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="k">def</span> <span class="nf">predictions_3</span><span class="p">(</span><span class="n">data</span><span class="p">):</span>
    <span class="sd">&quot;&quot;&quot; 考虑六个特征: </span>
<span class="sd">            - 如果是女性并处于中上阶级则生还</span>
<span class="sd">            - 如果是底层女性并且独自一人则生还</span>
<span class="sd">            - 如果是男性并且小于10岁并且处于中上阶级则生还</span>
<span class="sd">            &quot;&quot;&quot;</span>
    
    <span class="n">predictions</span> <span class="o">=</span> <span class="p">[]</span>
    <span class="k">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">passenger</span> <span class="ow">in</span> <span class="n">data</span><span class="o">.</span><span class="n">iterrows</span><span class="p">():</span>
        
        <span class="c1"># TODO 3</span>
        <span class="c1"># 移除下方的 &#39;pass&#39; 声明</span>
        <span class="c1"># 输入你自己的预测条件</span>
        <span class="k">if</span> <span class="n">passenger</span><span class="p">[</span><span class="s1">&#39;Sex&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;female&#39;</span><span class="p">:</span>
            <span class="k">if</span> <span class="n">passenger</span><span class="p">[</span><span class="s1">&#39;Pclass&#39;</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mi">3</span><span class="p">:</span>
                <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
            <span class="k">elif</span> <span class="n">passenger</span><span class="p">[</span><span class="s1">&#39;SibSp&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="mi">0</span> <span class="ow">and</span> <span class="n">passenger</span><span class="p">[</span><span class="s1">&#39;Parch&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
                <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
            <span class="k">else</span><span class="p">:</span>
                <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
        <span class="k">elif</span> <span class="n">passenger</span><span class="p">[</span><span class="s1">&#39;Age&#39;</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mi">10</span><span class="p">:</span>
            <span class="k">if</span> <span class="n">passenger</span><span class="p">[</span><span class="s1">&#39;Pclass&#39;</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mi">3</span><span class="p">:</span>
                <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
            <span class="k">else</span><span class="p">:</span>
                <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
        <span class="k">else</span><span class="p">:</span>
            <span class="n">predictions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
    
    <span class="c1"># 返回预测结果</span>
    <span class="k">return</span> <span class="n">pd</span><span class="o">.</span><span class="n">Series</span><span class="p">(</span><span class="n">predictions</span><span class="p">)</span>

<span class="c1"># 进行预测</span>
<span class="n">predictions</span> <span class="o">=</span> <span class="n">predictions_3</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong>问题4</strong>：请描述你实现80%准确度的预测模型所经历的步骤。您观察过哪些特征？某些特性是否比其他特征更有帮助？你用了什么条件来预测生还结果？你最终的预测的准确率是多少？</p>
<p><strong>回答</strong>：</p>
<ol>
<li>我观察过性别、年龄、阶级、乘客在船上兄弟姐妹、父母孩子的数量。</li>
<li>性别是最重要的特征，比其他特征更有帮助，女性存活率明显高于男性。阶级是次重要的特征，上层阶级的存活率高于底层阶级，无论是对于男性，还是对于女性。</li>
<li><p>我使用的条件如下：</p>
<ul>
<li>如果是女性并处于中上阶级则生还</li>
<li>如果是底层女性并且独自一人则生还</li>
<li>如果是男性并且小于10岁并且处于中上阶级则生还</li>
</ul>
</li>
<li><p>最终的准确率为81.48%</p>
</li>
</ol>
<p><strong>提示</strong>：你需要在下面添加一个代码区域，实现代码并运行来计算准确率。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[27]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="k">print</span> <span class="n">accuracy_score</span><span class="p">(</span><span class="n">outcomes</span><span class="p">,</span> <span class="n">predictions</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>Predictions have an accuracy of 81.48%.
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="&#32467;&#35770;">&#32467;&#35770;<a class="anchor-link" href="#&#32467;&#35770;">&#182;</a></h3><p>经过了数次对数据的探索和分类，你创建了一个预测泰坦尼克号乘客存活率的有用的算法。在这个项目中你手动地实现了一个简单的机器学习模型——决策树（<em>decision tree</em>）。决策树每次按照一个特征把数据分割成越来越小的群组（被称为 <em>nodes</em>）。每次数据的一个子集被分出来，如果分割后新子集之间的相似度比分割前更高（包含近似的标签），我们的预测也就更加准确。电脑来帮助我们做这件事会比手动做更彻底，更精确。<a href="http://www.r2d3.us/visual-intro-to-machine-learning-part-1/">这个链接</a>提供了另一个使用决策树做机器学习入门的例子。</p>
<p>决策树是许多<strong>监督学习</strong>算法中的一种。在监督学习中，我们关心的是使用数据的特征并根据数据的结果标签进行预测或建模。也就是说，每一组数据都有一个真正的结果值，不论是像泰坦尼克号生存数据集一样的标签，或者是连续的房价预测。</p>
<p><strong>问题5</strong>：想象一个真实世界中应用监督学习的场景，你期望预测的结果是什么？举出两个在这个场景中能够帮助你进行预测的数据集中的特征。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong>回答</strong>:</p>
<p>比如对于一支足球队，希望预测的结果是下一场比赛是否会获胜。</p>
<p>特征：</p>
<ol>
<li><p>足球队的球员总价</p>
</li>
<li><p>足球队的教练周薪</p>
</li>
</ol>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<blockquote><p><strong>注意</strong>: 当你写完了所有<strong>5个问题，3个TODO</strong>。你就可以把你的 iPython Notebook 导出成 HTML 文件。你可以在菜单栏，这样导出<strong>File -&gt; Download as -&gt; HTML (.html)</strong> 把这个 HTML 和这个 iPython notebook 一起做为你的作业提交。</p>
</blockquote>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<hr>
<p>翻译：毛礼建 ｜ 校译：黄强 ｜ 审译：曹晨巍</p>

</div>
</div>
</div>
    </div>
  </div>
</body>

 


</html>
